On Wed, Mar 15, 2023 at 05:09:47PM +0100, Michael Riesch wrote: > Hi Sascha, > > On 3/10/23 10:42, Sascha Hauer wrote: > > Support for applying a device tree overlay to the barebox live tree > > is already present. This series adds a few missing pieces: > > > > - add support for applying overlays to the live tree from the command > > line > > - add support for adding new I2C/SPI devices via overlays > > - add Makefile magic to build dtbo files and dtbo.o files to include > > into the barebox binary from dtso files > > > > Changes since v2: > > - Don't build compressed dtbo files > > - Do not build overlays for PBL > > - rename symbols to __dtbo_ to avoid possible name clashes > > > > Changes since v1: > > - add a device_rescan() static inline wrapper > > - add missing call to of_i2c_register_devices() in i2c_add_numbered_adapter() > > - replace device_detect with device_rescan in of_device_create_on_demand() > > > > Sascha Hauer (7): > > kbuild: Add target to build dtb overlay files > > driver: Add rescan hook to struct device > > i2c: implement rescan > > spi: Directly register SPI device > > spi: reduce scope of 'chip' > > spi: implement rescan > > of_overlay: Add option to apply overlay to live tree > > > > commands/of_overlay.c | 38 ++++++++++++++++++++++++++++++++++---- > > drivers/i2c/i2c.c | 24 +++++++++--------------- > > drivers/of/platform.c | 12 +++++------- > > drivers/spi/spi.c | 29 ++++++++++++++++++++++++----- > > include/driver.h | 6 ++++++ > > scripts/Makefile.build | 2 ++ > > scripts/Makefile.lib | 10 +++++++++- > > scripts/gen-dtbo-s | 14 ++++++++++++++ > > 8 files changed, 103 insertions(+), 32 deletions(-) > > create mode 100755 scripts/gen-dtbo-s > > > > With this series I can apply a device tree overlay, but a node with a > "fixed-clock" does not lead to a corresponding clock showing up in clk_dump. > > Any idea what went wrong here? The fixed-clock is initialized with CLK_OF_DECLARE which results in a linker list which is iterated over in of_clk_init() which is called in an initcall during barebox startup. The clocks registered via CLK_OF_DECLARE do not have a device associated with them. The clocks also do not have a link to the device node they provide the clock for, also the device node doesn't have a link to the clock. This means we currently have no idea whether there already is a clock registered for a particular node or if the node has just been added by an overlay. There seems to be some work necessary to get this working. Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |