summaryrefslogtreecommitdiff
path: root/include/fdtdec.h
AgeCommit message (Collapse)Author
2017-05-15edid: Add HDMI flag to timing infoJernej Skrabec
Some DVI monitors don't show anything in HDMI mode since audio stream confuses them. To solve this situation, this commit adds HDMI flag in timing data and sets it accordingly during edid parsing. First existence of extension block is checked. If it exists and it is CEA861 extension, then data blocks are checked for presence of HDMI vendor specific data block. If it is present, HDMI flag is set. Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-05-09Allow boards to initialize the DT at runtime.Alex Deymo
In some boards like the Raspberry Pi the initial bootloader will pass a DT to the kernel. When using U-Boot as such kernel, the board code in U-Boot should be able to provide U-Boot with this, already assembled device tree blob. This patch introduces a new config option CONFIG_OF_BOARD to use instead of CONFIG_OF_EMBED or CONFIG_OF_SEPARATE which will initialize the DT from a board-specific funtion instead of bundling one with U-Boot or as a separated file. This allows boards like the Raspberry Pi to reuse the device tree passed from the bootcode.bin and start.elf firmware files, including the run-time selected device tree overlays. Signed-off-by: Alex Deymo <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-04-14fdt: Add compatible strings for Arria 10Ley Foon Tan
Add compatible strings for Intel Arria 10 SoCFPGA device. Signed-off-by: Tien Fong Chee <[email protected]> Signed-off-by: Ley Foon Tan <[email protected]>
2016-12-20fdt: add memory bank decoding functions for board setupNathan Rossi
Add two functions for use by board implementations to decode the memory banks of the /memory node so as to populate the global data with ram_size and board info for memory banks. The fdtdec_setup_memory_size() function decodes the first memory bank and sets up the gd->ram_size with the size of the memory bank. This function should be called from the boards dram_init(). The fdtdec_setup_memory_banksize() function decode the memory banks (up to the CONFIG_NR_DRAM_BANKS) and populates the base address and size into the gd->bd->bi_dram array of banks. This function should be called from the boards dram_init_banksize(). Signed-off-by: Nathan Rossi <[email protected]> Cc: Simon Glass <[email protected]> Cc: Michal Simek <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2016-09-14usb: uniphier: remove UniPhier xHCI driver and select DM_USBMasahiro Yamada
This driver has not been converted to Driver Model, and it is an obstacle to migrate other block device drivers. Remove it for now. The UniPhier SoCs already use a DM-based EHCI driver, so now ARCH_UNIPHIER can select DM_USB. These two changes must be done atomically because removing the legacy driver causes a build error. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2016-08-12fdt: allow fdtdec_get_addr_size_*() to translate addressesStephen Warren
Some code may want to read reg values from DT, but from nodes that aren't associated with DM devices, so using dev_get_addr_index() isn't appropriate. In this case, fdtdec_get_addr_size_*() are the functions to use. However, "translation" (via the chain of ranges properties in parent nodes) may still be desirable. Add a function parameter to request that, and implement it. Update all call sites to default to the original behaviour. Signed-off-by: Stephen Warren <[email protected]> Reviewed-by: Simon Glass <[email protected]> Squashed in build fix from Stephen: Signed-off-by: Simon Glass <[email protected]>
2016-07-24mtd: nand: Add the sunxi NAND controller driverBoris Brezillon
We already have an SPL driver for the sunxi NAND controller, now add the normal/standard one. The source has been copied from Linux 4.6 with a few changes to make it work in u-boot. Signed-off-by: Boris Brezillon <[email protected]> Acked-by: Hans de Goede <[email protected]>
2016-07-11sandbox: Find keyboard driver using driver modelSimon Glass
The cros-ec keyboard is always a child of the cros-ec node. Rather than searching the device tree, looking at the children. Remove the compat string which is now unused. Signed-off-by: Simon Glass <[email protected]>
2016-07-11fdt: Drop unused exynos compatible stringsSimon Glass
A few drivers have moved to driver model, so we can drop these strings. Signed-off-by: Simon Glass <[email protected]> Acked-by: Jaehoon Chung <[email protected]>
2016-07-11x86: fdt: Drop the unused compatible strings in fdtdecSimon Glass
We have drivers for several more devices now, so drop the strings which are no-longer used. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-07-05fdt: Drop some unused compatible stringsSimon Glass
We have driver-model drivers for some of these now, so drop them. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2016-05-31mmc: tegra: add basic Tegra186 supportStephen Warren
Tegra186's MMC controller needs to be explicitly identified. Add another compatible value for it. Tegra186 will use an entirely different clock/reset control mechanism to existing chips, and will use standard clock/reset APIs rather than the existing Tegra-specific custom APIs. The driver support for that isn't ready yet, so simply disable all clock/reset usage if compiling for Tegra186. This must happen at compile time rather than run-time since the custom APIs won't even be compiled in on Tegra186. In the long term, the plan would be to convert the existing custom APIs to standard APIs and get rid of the ifdefs completely. The system's main eMMC will work without any clock/reset support, since the firmware will have already initialized the controller in order to load U-Boot. Hence the driver is useful even in this apparently crippled state. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2016-05-05Fix various typos, scattered over the code.Robert P. J. Day
Spelling corrections for (among other things): * environment * override * variable * ftd (should be "fdt", for flattened device tree) * embedded * FTDI * emulation * controller
2016-03-17x86: dts: Drop memory SPD compatible stringSimon Glass
This is not needed now that the memory controller driver has the SPD data in its own node. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-03-17x86: Drop all the old pin configuration codeSimon Glass
We don't need this anymore - we can use device tree and the new pinconfig driver instead. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-02-16tegra: nyan-big: Move the LCD driver to driver modelSimon Glass
Adjust the driver to use driver model. The SOR becomes a bridge device. We use the normal simple_panel driver to handle the display itself. We also need to enable some options such as regulators, PWMs and DM_VIDEO itself. Signed-off-by: Simon Glass <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2016-02-06fdt: introduce fdtdec_get_child_countPeng Fan
Introduce fdtdec_get_child_count for get the number of subnodes of one parent node. Signed-off-by: Peng Fan <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2016-01-24x86: Drop the irq router compatible stringSimon Glass
We use driver model for this now, so we don't need this string. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-01-20dm: video: sandbox: Convert sandbox to use driver model for videoSimon Glass
Now that driver model support is available, convert sandbox over to use it. We can remove a few of the special hooks that sandbox currently has. Signed-off-by: Simon Glass <[email protected]> Acked-by: Anatolij Gustschin <[email protected]>
2016-01-14Merge branch 'master' of git://git.denx.de/u-boot-x86Tom Rini
2016-01-13fdtdec: Add compatible string for Intel IvyBridge FSPBin Meng
Use "intel,ivybridge-fsp" for Intel IvyBridge FSP compatible string. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-12dm: serial: Convert ns16550 driver to use driver model PCI APISimon Glass
Use the driver model version of the function to find the BAR. This updates the fdtdec function, of which ns16550 is the only user. The fdtdec_get_pci_bdf() function is dropped for several reasons: - with driver model we should use 'struct udevice *' rather than passing the device tree offset explicitly - there are no other users in the tree - the function parses for information which is already available in the PCI device structure (specifically struct pci_child_platdata which is available at dev_get_parent_platdata(dev) Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2015-12-20arm: socfpga: Allow DWC2 UDC probing from OFMarek Vasut
The USB gadget framework does not support DM yet, so add this bit to let DWC2 UDC probe from OF on platforms which support it. Signed-off-by: Marek Vasut <[email protected]> Cc: Simon Glass <[email protected]> Cc: Chin Liang See <[email protected]> Cc: Dinh Nguyen <[email protected]> Cc: Lukasz Majewski <[email protected]> Cc: Lukasz Majewski <[email protected]>
2015-12-01dm: tegra: pci: Convert tegra boards to driver model for PCISimon Glass
Adjust the Tegra PCI driver to support driver model and move all boards over at the same time. This can make use of some generic driver model code, such as the range-decoding logic. Signed-off-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]>
2015-11-19dm: tegra: Convert keyboard driver to driver modelSimon Glass
Adjust the tegra keyboard driver to support driver model, using the new uclass. Make this the default for all Tegra boards so that those that use a keyboard will build correctly with this driver. Signed-off-by: Simon Glass <[email protected]>
2015-11-12pci: tegra: add/enable support for Tegra210Stephen Warren
This needs a separate compatible value from Tegra124 since the new HW version has bugs that would prevent a driver for previous HW versions from operating at all. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-11-05Merge git://git.denx.de/u-boot-socfpgaTom Rini
2015-11-05lib, fdt: Adding fdtdec_get_uint functionChin Liang See
Adding fdtdec_get_uint function which is the unsigned version for fdtdec_get_int Signed-off-by: Chin Liang See <[email protected]> Cc: Dinh Nguyen <[email protected]> Cc: Dinh Nguyen <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Stefan Roese <[email protected]> Cc: Vikas Manocha <[email protected]> Cc: Jagannadh Teki <[email protected]> Cc: Pavel Machek <[email protected]> Cc: Heiko Schocher <[email protected]>
2015-11-04fdt: Add a function to look up a /chosen propertySimon Glass
It is sometimes useful to find a property in the chosen node. Add a function for this. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2015-09-15fdt: add new fdt address parsing functionsStephen Warren
fdtdec_get_addr_size() hard-codes the number of cells used to represent an address or size in DT. This is incorrect in many cases depending on the DT binding for a particular node or property (e.g. it is incorrect for the "reg" property). In most cases, DT parsing code must use the properties #address-cells and #size-cells to parse addres properties. This change splits up the implementation of fdtdec_get_addr_size() so that the core logic can be used for both hard-coded and non-hard-coded cases. Various wrapper functions are implemented that support cases where hard-coded cell counts should or should not be used, and where the client does and doesn't know the parent node ID that contains the properties #address-cells and #size-cells. dev_get_addr() is updated to use the new functions. Core functionality in fdtdec_get_addr_size_fixed() is widely tested via fdtdec_get_addr_size(). I tested fdtdec_get_addr_size_auto_noparent() and dev_get_addr() by manually modifying the Tegra I2C driver to invoke them. Much of the core implementation of fdtdec_get_addr_size_fixed(), fdtdec_get_addr_size_auto_parent(), and fdtdec_get_addr_size_auto_noparent() comes from Thierry Reding's previous commit "fdt: Fix fdtdec_get_addr_size() for 64-bit". Based-on-work-by: Thierry Reding <[email protected]> Cc: Thierry Reding <[email protected]> Cc: Simon Glass <[email protected]> Cc: Michal Suchanek <[email protected]> Signed-off-by: Stephen Warren <[email protected]> Acked-by: Simon Glass <[email protected]> Dropped #define DEBUG at the top of fdtdec.c: Signed-off-by: Simon Glass <[email protected]>
2015-09-04mmc: dw_mmc: Probe the MMC from OFMarek Vasut
Rework the driver to probe the MMC controller from Device Tree and make it mandatory. There is no longer support for probing from the ancient qts-generated header files. This patch now also removes previous temporary workaround. Signed-off-by: Marek Vasut <[email protected]> Cc: Dinh Nguyen <[email protected]> Cc: Pantelis Antoniou <[email protected]> Cc: Tom Rini <[email protected]>
2015-08-31dm: tpm: Convert I2C driver to driver modelSimon Glass
Convert the tpm_tis_i2c driver to use driver model and update boards which use it. Signed-off-by: Simon Glass <[email protected]> Acked-by: Christophe Ricard<[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2015-08-18of: clean up OF_CONTROL ifdef conditionalsMasahiro Yamada
We have flipped CONFIG_SPL_DISABLE_OF_CONTROL. We have cleansing devices, $(SPL_) and CONFIG_IS_ENABLED(), so we are ready to clear away the ugly logic in include/fdtdec.h: #ifdef CONFIG_OF_CONTROL # if defined(CONFIG_SPL_BUILD) && !defined(SPL_OF_CONTROL) # define OF_CONTROL 0 # else # define OF_CONTROL 1 # endif #else # define OF_CONTROL 0 #endif Now CONFIG_IS_ENABLED(OF_CONTROL) is the substitute. It refers to CONFIG_OF_CONTROL for U-boot proper and CONFIG_SPL_OF_CONTROL for SPL. Also, we no longer have to cancel CONFIG_OF_CONTROL in include/config_uncmd_spl.h and scripts/Makefile.spl. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Linus Walleij <[email protected]>
2015-08-18of: flip CONFIG_SPL_DISABLE_OF_CONTROL into CONFIG_SPL_OF_CONTROLMasahiro Yamada
As we discussed a couple of times, negative CONFIG options make our life difficult; CONFIG_SYS_NO_FLASH, CONFIG_SYS_DCACHE_OFF, ... and here is another one. Now, there are three boards enabling OF_CONTROL on SPL: - socfpga_arria5_defconfig - socfpga_cyclone5_defconfig - socfpga_socrates_defconfig This commit adds CONFIG_SPL_OF_CONTROL for them and deletes CONFIG_SPL_DISABLE_OF_CONTROL from the other boards to invert the logic. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-08-18fdtdec: fix OF_CONTROL switchMasahiro Yamada
There is no case where defined(SPL_DISABLE_OF_CONTROL) is true. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-08-14x86: baytrail: Configure FSP UPD from device treeAndrew Bradford
Allow for configuration of FSP UPD from the device tree which will override any settings which the FSP was built with itself. Modify the MinnowMax and BayleyBay boards to transfer sensible UPD settings from the Intel FSPv4 Gold release to the respective dts files, with the condition that the memory-down parameters for MinnowMax are also used. Signed-off-by: Andrew Bradford <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]> Removed fsp,mrc-debug-msg and fsp,enable-xhci for minnowmax, bayleybay Fixed lines >80col Signed-off-by: Simon Glass <[email protected]>
2015-08-08arm: socfpga: misc: Reset ethernet from OFMarek Vasut
Reset the GMAC ethernets based on the "resets" OF node instead of ad-hoc hardcoded values in the U-Boot code. Since we don't have a proper reset framework in place yet, we have to do this slightly ad-hoc parsing of the OF tree instead. Signed-off-by: Marek Vasut <[email protected]> Cc: Dinh Nguyen <[email protected]> Cc: Joe Hershberger <[email protected]>
2015-08-06lib/fdtdec: Fix fdt_addr_t and fdt_size_t typedefYork Sun
fdt_addr_t is a physical address. It can be either 64-bit or 32-bit, depending on the architecture. It should be phys_addr_t instead of u64 or u32. Similarly, fdt_size_t is changed to phys_size_t. Signed-off-by: York Sun <[email protected]> CC: Simon Glass <[email protected]>
2015-08-05dts: Drop unused compatible ID for the NXP video bridgeSimon Glass
This has moved to driver model so we can drop the fdtdec support. Signed-off-by: Simon Glass <[email protected]>
2015-08-05video: Remove the old parade driverSimon Glass
We have a new one which uses driver model and device tree configuration. Remove the old one. Signed-off-by: Simon Glass <[email protected]>
2015-08-05power: Remove old TPS65090 driversSimon Glass
Remove the old drivers (both the normal one and the cros_ec one) now that we have new drivers that use driver model. Signed-off-by: Simon Glass <[email protected]>
2015-07-28ARM: Tegra210: Add support to common Tegra source/config filesTom Warren
Derived from Tegra124, modified as appropriate during T210 board bringup. Cleaned up debug statements to conserve string space, too. This also adds misc 64-bit changes from Thierry Reding/Stephen Warren. Signed-off-by: Tom Warren <[email protected]> Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Stephen Warren <[email protected]>
2015-06-10dm: usb: tegra: Drop legacy USB codeSimon Glass
Drop the code that doesn't use driver model for USB. Signed-off-by: Simon Glass <[email protected]>
2015-06-10sandbox: Move CONFIG_SANDBOX_SERIAL to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-06-04x86: gpio: add pinctrl support from the device treeGabriel Huau
Every pin can be configured now from the device tree. A dt-bindings has been added to describe the different property available. Change-Id: I1668886062655f83700d0e7bbbe3ad09b19ee975 Signed-off-by: Gabriel Huau <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-06-04x86: Refactor PIRQ routing supportBin Meng
PIRQ routing is pretty much common in Intel chipset. It has several PIRQ links (normally 8) and corresponding registers (either in PCI configuration space or memory-mapped IBASE) to configure the legacy 8259 IRQ vector mapping. Refactor current Queensbay PIRQ routing support using device tree and move it to a common place, so that we can easily add PIRQ routing support on a new platform. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-05-13tegra: video: Support serial output resource (SOR) on tegra124Simon Glass
The SOR is required for talking to eDP LCD panels. Add a driver for this which will be used by the DisplayPort driver. Signed-off-by: Simon Glass <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-05-13fdt: Add binding decode function for display-timingsSimon Glass
This is useful for display parameters. Add a simple decode function to read from this device tree node. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-05-06dm: usb: exynos: Drop legacy USB codeSimon Glass
Drop the code that doesn't use driver model for USB. Signed-off-by: Simon Glass <[email protected]>
2015-04-23dm: core: Select device tree control correctly for SPLSimon Glass
Some boards will not use device tree for SPL even with driver model. Add the logic to support this. Signed-off-by: Simon Glass <[email protected]>