| #
d00cf31c |
| 02-Nov-2023 |
Cody Xie <cody.xie@rock-chips.com> |
dm: core: pinctrl: Select state "init" for pinctrl driver
We'd like to let pinmux stay in a expected state during boot, even if the user driver is not implemented in u-boot but in kernel.
Let the p
dm: core: pinctrl: Select state "init" for pinctrl driver
We'd like to let pinmux stay in a expected state during boot, even if the user driver is not implemented in u-boot but in kernel.
Let the pinctrl driver to select the init state of pins, and the user driver can select them to default state in u-boot or later in kernel driver probe.
Change-Id: Ie16d0f01afdfab1a4e5be168c350cd661cb6408c Signed-off-by: Cody Xie <cody.xie@rock-chips.com>
show more ...
|
| #
172237e2 |
| 07-Mar-2023 |
Jon Lin <jon.lin@rock-chips.com> |
Revert "dm: regulator: skip probed pre-reloc regulators"
This reverts commit 9a7b7f26ec66fca6fc43ff0ea333e16b2f6317f8.
Signed-off-by: Jon Lin <jon.lin@rock-chips.com> Change-Id: Icd35e4a5b67e6fa701
Revert "dm: regulator: skip probed pre-reloc regulators"
This reverts commit 9a7b7f26ec66fca6fc43ff0ea333e16b2f6317f8.
Signed-off-by: Jon Lin <jon.lin@rock-chips.com> Change-Id: Icd35e4a5b67e6fa701c6e87aba3e4434f7dd22a9
show more ...
|
| #
9a7b7f26 |
| 25-Nov-2021 |
Joseph Chen <chenjh@rock-chips.com> |
dm: regulator: skip probed pre-reloc regulators
Some regulator like fixed/gpio regultor applies a default output state when probed. It maybe reverse the state which was set by the pre-reloc regulato
dm: regulator: skip probed pre-reloc regulators
Some regulator like fixed/gpio regultor applies a default output state when probed. It maybe reverse the state which was set by the pre-reloc regulator. Example: vcc3v3_pcie.
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I47c191013b0467d57d709705c8e069a804a1c526
show more ...
|
| #
d9da4b44 |
| 08-Oct-2021 |
Joseph Chen <chenjh@rock-chips.com> |
dm: core: add kernel dtb version 2 mechanism support
The V2 mechanism: - both of U-Boot and kernel's *ALL* devices are exist in dm tree. - put the necessary U-Boot devices in the head of device
dm: core: add kernel dtb version 2 mechanism support
The V2 mechanism: - both of U-Boot and kernel's *ALL* devices are exist in dm tree. - put the necessary U-Boot devices in the head of device uclass list. - the both existence policy don't require phandle fixup any more. - it is for the next generation(rk3588 ...) or necessary platforms. - traverse u-boot fdt phandle if not found in kernel fdt, because the U-Boot framework gets phandle by of_root(from fdt) but not dm_root(from dm). The V1 mechanism(legacy): - U-Boot: only some necessary U-Boot devices(storage, crypto...) in dm tree. - kernel: all the devices(except the U-Boot only) in dm tree.
The commit (bd3ad955a3 scripts/dtc: phandle index start from 0x1000000) is necessary for this v2 mechanism.
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I0964f176a17725f9bb7c4e491373c278ed2bfcc5
show more ...
|
| #
e30e978d |
| 25-Feb-2021 |
Yifeng Zhao <yifeng.zhao@rock-chips.com> |
core: device: Add SATA to bind list if we set GD_FLG_RELOC
Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com> Change-Id: Ie2773a3a559e9e33e4a42a28516f4b994ffe8947
|
| #
33273e09 |
| 02-Mar-2021 |
Joseph Chen <chenjh@rock-chips.com> |
driver: core: reject all mmc device from kernel
- we always follow the rule: use mmc device from U-Boot; - avoid alias id on defferent device between U-Boot and kernel, which the U-Boot is not abl
driver: core: reject all mmc device from kernel
- we always follow the rule: use mmc device from U-Boot; - avoid alias id on defferent device between U-Boot and kernel, which the U-Boot is not able to handle(rescue).
Example issue:
// kernel: aliases { mmc0 = "/dwmmc@fe310000"; mmc1 = "/dwmmc@fe320000"; mmc2 = "/sdhci@fe330000"; };
// U-Boot: aliases { mmc0 = "/sdhci@fe330000"; mmc1 = "/dwmmc@fe320000"; };
// Log error: Hit key to stop autoboot('CTRL+C'): 0 Device 'dwmmc@fe310000': seq 0 is in use by 'sdhci@fe330000' MMC error: The cmd index is 1, ret is -110 Card did not respond to voltage select! mmc_init: -95, time 51
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I8afede0d304b3e6155766c2aefa2b3b0fd21b068
show more ...
|
| #
80907d3c |
| 04-Jan-2021 |
Shawn Lin <shawn.lin@rock-chips.com> |
core: device: Add PCIe to bind list if we set GD_FLG_RELOC
Change-Id: Ib115bc6eb52f8a08e28805ea15e2cbf8f27f5f63 Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
|
| #
ef5a68b1 |
| 25-Dec-2020 |
Joseph Chen <chenjh@rock-chips.com> |
core: device: always use wdt from U-Boot
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: Icedfecb6de80cb9dc1a71118e7271e2b7b66e90c
|
| #
8f5dfc4a |
| 08-Jul-2020 |
Joseph Chen <chenjh@rock-chips.com> |
core: device: use list_del_init() instead of list_del() to remove node
In order to check this node by list_del_init().
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I723821d8b9fc6d8
core: device: use list_del_init() instead of list_del() to remove node
In order to check this node by list_del_init().
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I723821d8b9fc6d899fbd5c0b830b240486a48c73
show more ...
|
| #
1a4f6af8 |
| 02-Mar-2020 |
Joseph Chen <chenjh@rock-chips.com> |
Merge branch 'next-dev' into thunder-boot
|
| #
30a85904 |
| 21-Feb-2020 |
Joseph Chen <chenjh@rock-chips.com> |
core: device: add and update some comment
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I7e58aab5eeb77913c8438ed066a7a73c7d6f0bb6
|
| #
503458d2 |
| 16-Dec-2019 |
Joseph Chen <chenjh@rock-chips.com> |
core: device: allow serial node bind from kernel dtb
Previously we have to use serial node only from U-Boot dtb, because we can't handle two problems to avoid serial intr fail:
- CRU phandle miss m
core: device: allow serial node bind from kernel dtb
Previously we have to use serial node only from U-Boot dtb, because we can't handle two problems to avoid serial intr fail:
- CRU phandle miss match between kernel and U-Boot dtb - No "clock-frequency" in kernel serial node
These problems are workarund by current code, but the dm serial seems to be works normally only for uart debug but not other uart.
Since the problems have been solved, let's allow serial driver-device bind from kernel dtb.
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: If3453509151e086afc5b7558277bec53842ac8eb
show more ...
|
| #
b8dc613c |
| 19-Nov-2019 |
Joseph Chen <chenjh@rock-chips.com> |
Merge branch 'next-dev' into thunder-boot
|
| #
930ceb12 |
| 24-Oct-2019 |
Joseph Chen <chenjh@rock-chips.com> |
driver: core/input: treat 'u-boot,dm-spl' as 'u-boot,dm-pre-reloc'
It works when CONFIG_USING_KERNEL_DTB is enabled, because we can set either 'u-boot,dm-spl' or 'u-boot,dm-pre-reloc' for the node t
driver: core/input: treat 'u-boot,dm-spl' as 'u-boot,dm-pre-reloc'
It works when CONFIG_USING_KERNEL_DTB is enabled, because we can set either 'u-boot,dm-spl' or 'u-boot,dm-pre-reloc' for the node that we can to leave in the u-boot.dtb.
Change-Id: Id3cec0c64ee55ca9bc1e5871e7ad5a2ebb4b1b6a Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
show more ...
|
| #
5a1674a7 |
| 21-Jun-2019 |
Jason Zhu <jason.zhu@rock-chips.com> |
drivers: core: do not use mtd node from kernel dtb
Do not use mtd node from kernel dtb, otherwise the driver will be initialized twice.
Change-Id: I6f3dca8fd8c3e05475f4359fe6c3c5312c0984cd Signed-o
drivers: core: do not use mtd node from kernel dtb
Do not use mtd node from kernel dtb, otherwise the driver will be initialized twice.
Change-Id: I6f3dca8fd8c3e05475f4359fe6c3c5312c0984cd Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
show more ...
|
| #
ea4b8016 |
| 29-May-2019 |
Joseph Chen <chenjh@rock-chips.com> |
core: device_bind_common: always use crypto node from U-Boot dtb
There is not crypto node in kernel dtb for early platform(such as rk322x/rk3288/rk3368/rk3399, etc), so we decide to add crypto node
core: device_bind_common: always use crypto node from U-Boot dtb
There is not crypto node in kernel dtb for early platform(such as rk322x/rk3288/rk3368/rk3399, etc), so we decide to add crypto node always in U-Boot dtb and ignore crypto node from kernel dtb.
This is a way to compatible with early platforms. Actually, we need crypto during secure boot sequence, the crypto had better not depends on kernel dtb.
Change-Id: Ibab4fca0741b45042b8d0868240449fb6b52aa14 Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
show more ...
|
| #
d7a244f9 |
| 28-May-2019 |
Joseph Chen <chenjh@rock-chips.com> |
core: device_bind_common: only delete U-Boot existance node
Use "u-boot,dm-pre-reloc" to identify whether the existance node is from U-Boot or not. This avoids deleting the same name nodes from kern
core: device_bind_common: only delete U-Boot existance node
Use "u-boot,dm-pre-reloc" to identify whether the existance node is from U-Boot or not. This avoids deleting the same name nodes from kernel dtb.
Change-Id: I6503965c0013053feefad7e93f98b01b5af71f44 Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
show more ...
|
| #
d24a078f |
| 19-Dec-2018 |
Joseph Chen <chenjh@rock-chips.com> |
core: device_bind_common: don't bind UCLASS_SPI_FLASH again
Change-Id: Ie4cfe40398fc1e483b558832663bc50683510ac0 Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
|
| #
cadc8d74 |
| 26-Jul-2018 |
Kever Yang <kever.yang@rock-chips.com> |
clock: remove clk_set_defaults() in device core
We do not need to assign-clock for every driver in Rockchip platform, only below module need this feature, remove it for boot time optimize: - GMAC (n
clock: remove clk_set_defaults() in device core
We do not need to assign-clock for every driver in Rockchip platform, only below module need this feature, remove it for boot time optimize: - GMAC (need set parent from dts) - CRU ARM clock (rockchip board will call set_armclk_rate() instead) - VOP (need set parent)
Change-Id: Ie8facfb7499323f4649e0e1d908f850de1338e12 Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
show more ...
|
| #
527e4be7 |
| 14-Jul-2018 |
Kever Yang <kever.yang@rock-chips.com> |
rockchip: core: update kernel dtb node handle
Don't duplicate bind EMMC and NAND device after load kernel dtb. Always use serial node from u-boot and use all other nodes from kernel.
Change-Id: Iae
rockchip: core: update kernel dtb node handle
Don't duplicate bind EMMC and NAND device after load kernel dtb. Always use serial node from u-boot and use all other nodes from kernel.
Change-Id: Iaef9258f66f4f1060f057a9f7b194694e0e1df21 Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
show more ...
|
| #
541f90eb |
| 22-Jun-2018 |
Yifeng Zhao <zyf@rock-chips.com> |
drivers: core: do not use nand node from kernel dtb
Do not use nand node from kernel dtb, or the driver will be initialized twice.
Change-Id: Iae3e76094d074549e6f52c20261ceefa9b98be1b Signed-off-by
drivers: core: do not use nand node from kernel dtb
Do not use nand node from kernel dtb, or the driver will be initialized twice.
Change-Id: Iae3e76094d074549e6f52c20261ceefa9b98be1b Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
show more ...
|
| #
713d9646 |
| 06-Jun-2018 |
Finley Xiao <finley.xiao@rock-chips.com> |
core: device_bind_common: remove the same clk device
With kernel dtb support, there are two dtbs and some devices may have the same driver and nanme, the api uclass_get_device_by_driver() and uclass
core: device_bind_common: remove the same clk device
With kernel dtb support, there are two dtbs and some devices may have the same driver and nanme, the api uclass_get_device_by_driver() and uclass_get_device_by_name() may get wrong value. In order to use cru node in kernel dtb, remove the same device whose node is in u-boot dtb.
Change-Id: Id19eedb276731fa18b07bca51bbc203636f20c31 Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
show more ...
|
| #
55e9fafc |
| 25-Feb-2018 |
Kever Yang <kever.yang@rock-chips.com> |
core: do not fail in device_probe() when clk set default fail
Assigned clocks are widely used in kernel, but not in U-Boot yet, many U-Boot clock driver do not have the API while dts port from kerne
core: do not fail in device_probe() when clk set default fail
Assigned clocks are widely used in kernel, but not in U-Boot yet, many U-Boot clock driver do not have the API while dts port from kernel have "assigned-clocks" node.
Just give a warning now instead of a device probe fail.
Change-Id: Icc1da8bdd1a21d6d118e37d305bd7909758c40b2 Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
show more ...
|
| #
5039ac47 |
| 25-Feb-2018 |
Kever Yang <kever.yang@rock-chips.com> |
core: device_bind_common: do not use mmc node from kernel
The driver for U-Boot and kernel are different, we can not re-use mmc node from kernel now. BTW: U-Boot need alias for mmc to make sure emmc
core: device_bind_common: do not use mmc node from kernel
The driver for U-Boot and kernel are different, we can not re-use mmc node from kernel now. BTW: U-Boot need alias for mmc to make sure emmc at mmc0(not support in kernel dtb).
Change-Id: I1b8fd3ab8a28e3abb5964dc113d0028abe2beaa2 Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
show more ...
|
| #
0b2881ac |
| 08-Jan-2018 |
Philipp Tomsich <philipp.tomsich@theobroma-systems.com> |
clk: implement clk_set_defaults()
Linux uses the properties 'assigned-clocks', 'assigned-clock-parents' and 'assigned-clock-rates' to configure the clock subsystem for use with various peripheral no
clk: implement clk_set_defaults()
Linux uses the properties 'assigned-clocks', 'assigned-clock-parents' and 'assigned-clock-rates' to configure the clock subsystem for use with various peripheral nodes.
This implements clk_set_defaults() and hooks it up with the general device probibin in drivers/core/device.c: when a new device is probed, clk_set_defaults() will be called for it and will process the properties mentioned above.
Note that this functionality is designed to fail gracefully (i.e. if a clock-driver does not implement set_parent(), we simply accept this and ignore the error) as not to break existing board-support.
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: David Wu <david.wu@rock-chips.com>
Series-changes: 2 - Fixed David's email address.
Series-version: 2
Cover-letter: clk: support assigned-clock, assigned-clock-parents, assigned-clock-rates
For various peripherals on Rockchip SoCs (e.g. for the Ethernet GMAC), the parent-clock needs to be set via the DTS. This adds the required plumbing and implements the GMAC case for the RK3399. END
(cherry picked from commit f4fcba5c5baaaa9d477d753f97124efdb8e45893)
Change-Id: I549891987c5a3e8546b96f1f54ad575950f92b12 Signed-off-by: David Wu <david.wu@rock-chips.com>
show more ...
|