[PATCH v3 00/14] improve OF_PLATDATA support
Walter Lozano
walter.lozano at collabora.com
Thu Jun 25 05:23:48 CEST 2020
When using OF_PLATDATA dtbs are converted to C structs in order to save
space as we can remove both dtbs and libraries from TPL/SPL binaries.
This patchset tries to improve its support by overcoming some limitations
in the current implementation
First, the support for scan and check for valid driver/aliases is added
in order to generate U_BOOT_DEVICE entries with valid driver names.
Secondly, the way information about linked noded (phandle) is generated
in C structs is improved in order to make it easier to get a device
associated to its data.
Lastly the support for the property cd-gpios is added, which is used to
configure the card detection gpio on MMC is added.
This implementation is based in discussion in [1], [2] and [3]
[1] https://patchwork.ozlabs.org/patch/1249198/
[2] https://patchwork.ozlabs.org/project/uboot/list/?series=167495&state=*
[3] https://patchwork.ozlabs.org/project/uboot/list/?series=176759&state=*
Changes for v3
- Split patches to separate core from tools changes
- Squash patches to avoid errors on tests
- Fix lines longer than 80 chars
Changes for v2
- Rename drivers to match compatible strings
- Fix out-of-trees usage of dtoc
- Fix test coverage
- Improve documentation
- Improve format
Walter Lozano (14):
drivers: rename drivers to match compatible string
dtoc: add missing code comments
core: add support for U_BOOT_DRIVER_ALIAS
dtoc: add support to scan drivers
dtoc: add option to disable warnings
dm: doc: update of-plat with the support for driver aliases
core: drop const for struct driver_info
core: extend struct driver_info to point to device
sandbox: Move section u_boot_list to make it RW
dtoc: extend dtoc to use struct driver_info when linking nodes
dm: doc: update of-plat with new phandle support
arm: dts: include gpio nodes for card detect
dtoc: update dtb_platdata to support cd-gpios
dtoc: add test for cd-gpios
arch/arm/dts/da850-evm-u-boot.dtsi | 4 +
arch/arm/dts/da850-lcdk-u-boot.dtsi | 4 +
arch/arm/dts/rk3288-u-boot.dtsi | 4 +
arch/arm/dts/rk3288-veyron-speedy-u-boot.dtsi | 2 +-
arch/arm/dts/rk3288-veyron-u-boot.dtsi | 11 +
.../mach-at91/arm926ejs/at91sam9260_devices.c | 6 +-
.../arm926ejs/at91sam9m10g45_devices.c | 10 +-
arch/arm/mach-rockchip/rk3328/syscon_rk3328.c | 4 +-
arch/sandbox/cpu/u-boot-spl.lds | 2 +-
board/davinci/da8xxevm/omapl138_lcdk.c | 2 +-
board/sandbox/sandbox.c | 2 +-
doc/driver-model/of-plat.rst | 38 ++-
drivers/clk/at91/clk-master.c | 4 +-
drivers/clk/at91/clk-peripheral.c | 4 +-
drivers/clk/at91/pmc.c | 6 +-
drivers/clk/clk-uclass.c | 11 +-
drivers/core/device.c | 28 +-
drivers/core/root.c | 6 +-
drivers/core/simple-bus.c | 4 +-
drivers/gpio/at91_gpio.c | 4 +-
drivers/gpio/da8xx_gpio.c | 4 +-
drivers/gpio/mxs_gpio.c | 8 +-
drivers/gpio/rk_gpio.c | 4 +-
drivers/gpio/sandbox.c | 6 +-
drivers/i2c/rk_i2c.c | 6 +-
drivers/input/cros_ec_keyb.c | 4 +-
drivers/misc/cros_ec_sandbox.c | 4 +-
drivers/misc/irq-uclass.c | 10 +-
drivers/mmc/davinci_mmc.c | 4 +-
drivers/mmc/ftsdc010_mci.c | 2 +-
drivers/mmc/mxsmmc.c | 7 +-
drivers/mmc/rockchip_dw_mmc.c | 7 +-
drivers/mmc/rockchip_sdhci.c | 2 +-
drivers/mtd/spi/sf-uclass.c | 2 +-
drivers/mtd/spi/sf_probe.c | 6 +-
drivers/pinctrl/nxp/pinctrl-mxs.c | 6 +-
drivers/pinctrl/pinctrl-at91.c | 6 +-
drivers/pinctrl/rockchip/pinctrl-rk3188.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3288.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3328.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3368.c | 2 +-
drivers/power/pmic/rk8xx.c | 6 +-
drivers/power/regulator/fixed.c | 4 +-
drivers/ram/rockchip/dmc-rk3368.c | 2 +-
drivers/ram/rockchip/sdram_rk3188.c | 2 +-
drivers/ram/rockchip/sdram_rk3288.c | 2 +-
drivers/ram/rockchip/sdram_rk3328.c | 2 +-
drivers/ram/rockchip/sdram_rk3399.c | 2 +-
drivers/serial/ns16550.c | 4 +
drivers/serial/sandbox.c | 6 +-
drivers/spi/mxs_spi.c | 8 +-
drivers/spi/rk_spi.c | 10 +-
drivers/spi/sandbox_spi.c | 4 +-
drivers/tpm/tpm_tis_sandbox.c | 4 +-
drivers/video/rockchip/rk3288_vop.c | 4 +-
drivers/video/sandbox_sdl.c | 4 +-
drivers/watchdog/at91sam9_wdt.c | 4 +-
include/clk.h | 4 +-
include/dm/device-internal.h | 2 +-
include/dm/device.h | 22 ++
include/dm/platdata.h | 14 +
test/dm/gpio.c | 2 +-
test/dm/spi.c | 6 +-
test/py/tests/test_bind.py | 54 ++--
tools/dtoc/dtb_platdata.py | 143 ++++++++-
tools/dtoc/dtoc_test_invalid_driver.dts | 15 +
tools/dtoc/dtoc_test_phandle_cd_gpios.dts | 42 +++
tools/dtoc/test_dtoc.py | 287 +++++++++++++-----
68 files changed, 672 insertions(+), 239 deletions(-)
create mode 100644 arch/arm/dts/rk3288-veyron-u-boot.dtsi
create mode 100644 tools/dtoc/dtoc_test_invalid_driver.dts
create mode 100644 tools/dtoc/dtoc_test_phandle_cd_gpios.dts
--
2.20.1
More information about the U-Boot
mailing list