| #
46fb92f0 |
| 04-Sep-2017 |
Patrice Chotard <patrice.chotard@st.com> |
UPSTREAM: dm: core: add clocks node scan
Currently, all fixed-clock declared in "clocks" node in device tree can be binded by clk_fixed_rate.c driver only if each of them have the "simple-bus" compa
UPSTREAM: dm: core: add clocks node scan
Currently, all fixed-clock declared in "clocks" node in device tree can be binded by clk_fixed_rate.c driver only if each of them have the "simple-bus" compatible string. This constraint has been invoked here [1].
This patch offers a solution to avoid adding "simple-bus" compatible string to nodes that are not busses.
[1] https://patchwork.ozlabs.org/patch/558837/
Change-Id: Ia267df49d4f1b84115d5e600c0f0cd5e74105f53 Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> (cherry picked from commit e81c98649b7a67d43c5baae407430a242d3b26b9)
show more ...
|
| #
19c8205e |
| 19-May-2017 |
Simon Glass <sjg@chromium.org> |
dm: core: Scan the live tree when setting up driver model
When starting up driver model with a live tree we need to scan the tree for devices. Add code to handle this.
Signed-off-by: Simon Glass <s
dm: core: Scan the live tree when setting up driver model
When starting up driver model with a live tree we need to scan the tree for devices. Add code to handle this.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
a771a04f |
| 17-May-2017 |
Simon Glass <sjg@chromium.org> |
dm: core: Dont export dm_scan_fdt_node()
This function is only used in one place. It is better to just declare it internally since there is a simpler replacement for use outside the driver-model cor
dm: core: Dont export dm_scan_fdt_node()
This function is only used in one place. It is better to just declare it internally since there is a simpler replacement for use outside the driver-model core code.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
433647a7 |
| 05-Apr-2017 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-dm
|
| #
bc85aa40 |
| 27-Mar-2017 |
Stefan Roese <sr@denx.de> |
dm: core: Add dm_remove_devices_flags() and hook it into device_remove()
The new function dm_remove_devices_flags() is intented for driver specific last-stage cleanup operations before the OS is sta
dm: core: Add dm_remove_devices_flags() and hook it into device_remove()
The new function dm_remove_devices_flags() is intented for driver specific last-stage cleanup operations before the OS is started. This patch adds this functionality and hooks it into the common device_remove() function.
Drivers wanting to use this feature for some last-stage removal calls, need to add one of the DM_REMOVE_xx flags to their driver .flags.
Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
73eed452 |
| 04-Dec-2016 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://www.denx.de/git/u-boot-dm
|
| #
2f11cd91 |
| 13-Nov-2016 |
Simon Glass <sjg@chromium.org> |
dm: core: Handle global_data moving in SPL
When CONFIG_SPL_STACK_R is enabled, and spl_init() is called before board_init_r(), spl_relocate_stack_gd() will move global_data to a new place in memory.
dm: core: Handle global_data moving in SPL
When CONFIG_SPL_STACK_R is enabled, and spl_init() is called before board_init_r(), spl_relocate_stack_gd() will move global_data to a new place in memory. This affects driver model since it uses a list for the uclasses. Unless this is updated the list will become invalid. When looking for a non-existent uclass, such as when adding a new one, the loop in uclass_find() may continue forever, thus causing a hang.
Add a function to correct this rather obscure bug.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
c23154aa |
| 08-Aug-2014 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot-arm
|
| #
bb58503d |
| 23-Jul-2014 |
Simon Glass <sjg@chromium.org> |
dm: Add dm_scan_other() to locate board-specific devices
Some boards will have devices which are not in the device tree and do not have platform data. They may be programnatically created, for examp
dm: Add dm_scan_other() to locate board-specific devices
Some boards will have devices which are not in the device tree and do not have platform data. They may be programnatically created, for example. Add a hook which boards can use to bind those devices early in boot.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
1ca7e206 |
| 23-Jul-2014 |
Simon Glass <sjg@chromium.org> |
dm: Provide a function to scan child FDT nodes
At present only root nodes in the device tree are scanned for devices. But some devices can have children. For example a SPI bus may have several child
dm: Provide a function to scan child FDT nodes
At present only root nodes in the device tree are scanned for devices. But some devices can have children. For example a SPI bus may have several children for each of its chip selects.
Add a function which scans subnodes and binds devices for each one. This can be used for the root node scan also, so change it.
A device can call this function in its bind() or probe() methods to bind its children.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
0040b944 |
| 23-Jul-2014 |
Simon Glass <sjg@chromium.org> |
dm: Tidy up some header file comments
Fix up the style of a few comments and add/clarify a few others.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
| #
ab7cd627 |
| 23-Jul-2014 |
Simon Glass <sjg@chromium.org> |
dm: Support driver model prior to relocation
Initialise devices marked 'pre-reloc' and make them available prior to relocation. Note that this requires pre-reloc malloc() to be available.
Signed-of
dm: Support driver model prior to relocation
Initialise devices marked 'pre-reloc' and make them available prior to relocation. Note that this requires pre-reloc malloc() to be available.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
00606d7e |
| 23-Jul-2014 |
Simon Glass <sjg@chromium.org> |
dm: Allow drivers to be marked 'before relocation'
Driver model currently only operates after relocation is complete. In this state U-Boot typically has a small amount of memory available. In adding
dm: Allow drivers to be marked 'before relocation'
Driver model currently only operates after relocation is complete. In this state U-Boot typically has a small amount of memory available. In adding support for driver model prior to relocation we must try to use as little memory as possible.
In addition, on some machines the memory has not be inited and/or the CPU is not running at full speed or the data cache is off. These can reduce execution performance, so the less initialisation that is done before relocation the better.
An immediately-obvious improvement is to only initialise drivers which are actually going to be used before relocation. On many boards the only such driver is a serial UART, so this provides a very large potential benefit.
Allow drivers to mark themselves as 'pre-reloc' which means that they will be initialised prior to relocation. This can be done either with a driver flag or with a 'dm,pre-reloc' device tree property.
To support this, the various dm scanning function now take a 'pre_reloc_only' parameter which indicates that only drivers marked pre-reloc should be bound.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
9adbd7a1 |
| 23-Jul-2014 |
Simon Glass <sjg@chromium.org> |
dm: Provide a way to shut down driver model
Add a new method which removes and unbinds all drivers.
Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Marek Vasut <marex@denx.de>
|
| #
dab5e346 |
| 16-Jul-2014 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
Signed-off-by: Stefano Babic <sbabic@denx.de>
Conflicts: boards.cfg
|
| #
ed1d98d8 |
| 25-Jun-2014 |
Albert ARIBAUD <albert.u.boot@aribaud.net> |
Merge branch 'u-boot/master' into 'u-boot-arm/master'
|
| #
39b6d07f |
| 21-Jun-2014 |
Tom Rini <trini@ti.com> |
Merge branch 'master' of git://git.denx.de/u-boot-dm
|
| #
f2bc6fc3 |
| 12-Jun-2014 |
Simon Glass <sjg@chromium.org> |
dm: Tidy up four minor code nits
There is a spelling mistake and two functions are missing comments altogether. Also the flags declaration is correct, but doesn't follow style. Finally, the uclass_g
dm: Tidy up four minor code nits
There is a spelling mistake and two functions are missing comments altogether. Also the flags declaration is correct, but doesn't follow style. Finally, the uclass_get_device() function has some errors in its documentation.
Fix these problems.
Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
54c5d08a |
| 22-May-2014 |
Heiko Schocher <hs@denx.de> |
dm: rename device struct to udevice
using UBI and DM together leads in compiler error, as both define a "struct device", so rename "struct device" in include/dm/device.h to "struct udevice", as we u
dm: rename device struct to udevice
using UBI and DM together leads in compiler error, as both define a "struct device", so rename "struct device" in include/dm/device.h to "struct udevice", as we use linux code (MTD/UBI/UBIFS some USB code,...) and cannot change the linux "struct device"
Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Marek Vasut <marex@denx.de>
show more ...
|
| #
1cad23c5 |
| 04-Apr-2014 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot-arm into master
Conflicts: arch/arm/cpu/arm926ejs/mxs/mxsimage.mx23.cfg arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg
Signed-off-by: Stefano Babic
Merge branch 'master' of git://git.denx.de/u-boot-arm into master
Conflicts: arch/arm/cpu/arm926ejs/mxs/mxsimage.mx23.cfg arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg
Signed-off-by: Stefano Babic <sbabic@denx.de>
show more ...
|
| #
6494d708 |
| 26-Feb-2014 |
Simon Glass <sjg@chromium.org> |
dm: Add base driver model support
Add driver model functionality for generic board.
This includes data structures and base code for registering devices and uclasses (groups of devices with the same
dm: Add base driver model support
Add driver model functionality for generic board.
This includes data structures and base code for registering devices and uclasses (groups of devices with the same purpose, e.g. all I2C ports will be in the same uclass).
The feature is enabled with CONFIG_DM.
Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Pavel Herrmann <morpheus.ibis@gmail.com> Signed-off-by: Viktor Křivák <viktor.krivak@gmail.com> Signed-off-by: Tomas Hlavacek <tmshlvck@gmail.com>
show more ...
|