27 Apr, 2020
4 commits
-
We are currently using SC_R_LAST as a marker for imx8 power domain tree
nodes without a resource attached. This value is compiled into dtb as
part of the linux build and used by uboot.The SC_R_LAST constant changes frequently as SCFW resources are added
(by design) and every time we need to update linux and uboot headers
together or boot can fail.Fix this by replacing SC_R_LAST usage with a new constant SC_R_NONE
defined to be 0xFFF0.Signed-off-by: Leonard Crestez
Reviewed-by: Peng Fan
(cherry picked from commit 93f302a6642adedfdd6336b22d08f32284539e35)
(cherry picked from commit be563f60e44757afe4ef2b89d2f043b6aa2a1573) -
When fspi is assigned to M4, we have to let the fspi probe failed when
its power domain is failed to power up. Because not all devices have power
domain (for example, external devices on the board). Current checking
resource owner in power domain probe is not good, change to check it in
power on.Signed-off-by: Ye Li
(cherry picked from commit b62b82ad595a744f07306db4b88d644ae024872a)
(cherry picked from commit 4f970fee94b5b817ce7f31f82e2082edab03e9a0) -
For all the devices used and set ACTIVE in U-Boot, U-Boot needs
to power off all of them without the check of resource owner.When we create software partition before booting Linux, the resource
own checkw will return false, and cause the power domain not powered
off. If without the check of resource owner, the power domain in
the other software partition could be powered off with parent
partition could access child partition resources.Signed-off-by: Peng Fan
(cherry picked from commit 3e29e8adace18035850be9d56cc277c64a221e85)
(cherry picked from commit 81e64d882c2904f5aa38121d020f6e21e142aaf8)
(cherry picked from commit ac653837834c3647097eb6ba8a2ed3f8244aa322) -
The iMX8MM EVK board uses BD71837MWV pmic. Add its Non-DM driver to u-boot.
Signed-off-by: Ye Li
(cherry picked from commit e9a3bec2e95a4b2b4641223c8ee4ebd8da76d7f9)
23 Apr, 2020
2 commits
-
If without this flag, calling dev_power_domain_ctrl will iteratively remove
the power domain device will causes iteratively power off parent PD. This is
not expected by imx8-power-domain-legacy driver. Power off parent PD is
controlled by the driver internally.So set DM_FLAG_DEFAULT_PD_CTRL_OFF to avoid such issue
Signed-off-by: Ye Li
-
Add power_domain_lookup_name interface to power domain uclass to find
a power domain device by its DTB node name, not using its associated
client device.Through this interface, we can operate the power domain devices directly.
This is needed for non-DM drivers.Reviewed-by: Peng Fan
Signed-off-by: Ye Li
(cherry picked from commit f5fcb1903d935c2e1037b6a1fc61f1c290818727)
(cherry picked from commit 68b9f562f46bbecdd11643bacc70fe3cd2e1243c)
(cherry picked from commit 388d2adeecbaae91306e1df4ee0461aefe22e589)
30 Mar, 2020
1 commit
-
This supports i2c DM and enables CONFIG_DM_I2C
for SoC LS1046ASigned-off-by: Biwen Li
Signed-off-by: Priyanka Jain
11 Mar, 2020
1 commit
-
Currently when booting the kernel on i.MX8 U-Boot hangs in an
endless loop when switching off dma, connectivity or lsio power
domains during device removal. It hapens first when removing
gpio0 (gpio@5d080000) device, here its power domain device
'lsio_gpio0' is obtained for switching off power. Since the
obtained 'lsio_gpio0' device is removed afterwards, its power
domain is also switched off and here the parent power domain
device 'lsio_power_domain' is optained for switching off the
power. Thereafter, when the obtained 'lsio_power_domain' is
removed, device_remove() removes its first child 'lsio_gpio0'.
During this child removal the 'lsio_power_domain' device is
obtained again for switching and when removing it later,
the same child removal is repeated, so we are stuck in an
endless loop. Below is a snippet from dm tree on i.MX8QXP
for better illustration of the DM devices relationship:Class Index Probed Driver Name
-----------------------------------------------------------
root 0 [ + ] root_driver root_driver
...
simple_bus 0 [ + ] generic_simple_bus |-- imx8qx-pm
power_doma 0 [ + ] imx8_power_domain | |-- lsio_power_domain
power_doma 1 [ + ] imx8_power_domain | | |-- lsio_gpio0
power_doma 2 [ + ] imx8_power_domain | | |-- lsio_gpio1Do not remove a power domain device if it is a parent of the
currently controlled device.Fixes: 52edfed65de9 ("dm: core: device: switch off power domain after device removal")
Signed-off-by: Anatolij Gustschin
Reported-by: Oliver Graute
Reported-by: Fabio Estevam
Reviewed-by: Simon Glass
Reviewed-by: Lokesh Vutla
Tested-by: Fabio Estevam
11 Feb, 2020
2 commits
-
sandbox conversion to SDL2
TPM TEE driver
Various minor sandbox video enhancements
New driver model core utility functions -
The commit e8e9715df2d4 ("regulator: fixed: Modify enable-active-high behavior")
fixed the regulator driver behavior when 'enable-active-high' is defined.
Unfortunately, this patch used dm_regulator_platdata()'s "boot_on" member
to set GPIOD_IS_OUT_ACTIVE flag and enable the regulator.The issue here is that regulator_common_ofdata_to_platdata() is called
_before_ regulator_pre_probe() function in which the 'regulator-boot-on'
property is asserted.As a result the GPIOD_IS_OUT_ACTIVE flag is not set and gpio_request_by_name()
called in the former function is not enabling the regulator.
This is problematic for e.g. i.MX ethernet driver, which then tries to
perform initialization without power (and fails).The solution here is to explicitly enable regulator in regulator_pre_probe()
callback only when 'regulator-boot-on' property is present in device tree.
The GPIOD_IS_OUT_ACTIVE flag is not set at all, but relevant gpio is
requested.Signed-off-by: Lukasz Majewski
Reviewed-by: Patrice Chotard
Tested-by: Patrice Chotard
06 Feb, 2020
5 commits
-
At present dm/device.h includes the linux-compatible features. This
requires including linux/compat.h which in turn includes a lot of headers.
One of these is malloc.h which we thus end up including in every file in
U-Boot. Apart from the inefficiency of this, it is problematic for sandbox
which needs to use the system malloc() in some files.Move the compatibility features into a separate header file.
Signed-off-by: Simon Glass
-
At present devres.h is included in all files that include dm.h but few
make use of it. Also this pulls in linux/compat which adds several more
headers. Drop the automatic inclusion and require files to include devres
themselves. This provides a good indication of which files use devres.Signed-off-by: Simon Glass
Reviewed-by: Anatolij Gustschin -
This function name conflicts with our desire to #define free() to
something else on sandbox. Since it deals with resources, rename it to
rfree().Signed-off-by: Simon Glass
Reviewed-by: Anatolij Gustschin -
This currently reads the uclass's private data in the ofdata_to_platdata
method which is not allowed, since the uclass has not read it from the
device tree. This happens in the probe method.Fix it by adding a probe() method and moving the code there.
Signed-off-by: Simon Glass
-
At present this method uses a non-const udevice pointer, but the call
should not modify the device. Use a const pointer.Signed-off-by: Simon Glass
28 Jan, 2020
2 commits
-
Add a driver for the regulators in the the DA9063 PMIC.
Robert Beckett: move regulator modes to header so board code can set
modes. Correct mode mask used in ldo_set_mode.
Add an option CONFIG_SPL_DM_REGULATOR_DA9063.Signed-off-by: Martin Fuzzey
Signed-off-by: Robert Beckett -
This adds the basic register access operations and child regulator
binding (if a regulator driver exists).Robert Beckett: simplify accesses by using bottom bit of address as
offset overflow. This avoids the need to track which page we are on.
Add an option CONFIG_SPL_DM_PMIC_DA9063.Signed-off-by: Martin Fuzzey
Signed-off-by: Robert Beckett
20 Jan, 2020
1 commit
-
commit 29f7d05a347a ("dm: core: Move ofdata_to_platdata() call earlier")
introduces changes in the order of device_probe execution.
ofdata_to_platdata now comes before the probe function which resulted in
a deadlock and caused boot hang on AM6 devices.Deadlock sequence: tps62360_regulator_ofdata_to_platdata --> i2c_get_chip
--> device_probe(tps62360) --> tps62360_regulator_ofdata_to_platdataHence convert ofdata_to_platdata to the missing probe function to fix the
hang.Fixes: 22e8f18980d6 ("power: regulator: tps6236x: add support for tps6236x regulators")
Signed-off-by: Keerthy
Tested-by: Lokesh Vutla
Signed-off-by: Lokesh Vutla
16 Jan, 2020
1 commit
-
This patch add power domain support for Mediatek MT7622 SoCs
Signed-off-by: Ryder Lee
Signed-off-by: Sam Shih
10 Jan, 2020
1 commit
-
this adds poweroff to bananapi r2 / mt7623 / mt6323 pmic
Signed-off-by: Frank Wunderlich
09 Jan, 2020
1 commit
-
---------------------------------------------------------------------
Add i.MX8MP SoC and EVK board
Update README for i.MX8MN EVK and fix mmc env
Add pca9450 driver
--------------------------------------------------------------------Travis: https://travis-ci.org/sbabic/u-boot-imx/builds/634211885
08 Jan, 2020
2 commits
-
PCA9450 PMIC series is used to support iMX8MM (PCA9450A) and
iMX8MN (PCA9450B). Add the PMIC driver for both PCA9450A and PCA9450B.Signed-off-by: Robin Gong
Signed-off-by: Ye Li
Signed-off-by: Peng Fan -
off-on-delay-us has been supported by Linux, so let's use it.
Signed-off-by: Peng Fan
15 Dec, 2019
3 commits
-
Add a driver for the Apollo Lake SoC. It supports the basic operations and
can use device tree or of-platdata.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Add a simple PMC for sandbox to permit tests to run.
Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Intel x86 SoCs have a power manager/controller which handles several
power-related aspects of the platform. Add a uclass for this, with a few
useful operations.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
03 Dec, 2019
1 commit
-
This function belongs in time.h so move it over and add a comment.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
23 Nov, 2019
2 commits
-
fan53555_regulator_set_value() passes its own dev to pmic_clrsetbits()
instead of its parent (pmic). As result u-boot crashes when you try to
set voltage on fan53555 regulatorSigned-off-by: Vasily Khoruzhick
Reviewed-by: Kever Yang -
SYR82X and SYR83X are almost identical to FAN53555, the only difference
is different die ID and revision, voltage ranges and steps.Signed-off-by: Vasily Khoruzhick
Tested-by: Anand Moon
Reviewed-by: Kever Yang
12 Nov, 2019
2 commits
-
u-boot-imx-20191105
-------------------
i.MX8MN SoC support
ROM API image download support
i.MX8MM enet enabling -
- Add support for rockchip pmic rk805,rk809, rk816, rk817
- Add rk3399 board Leez support
- Fix bug in rk3328 ram driver
- Adapt SPL to support ATF bl31 with entry at 0x40000
- Fix the u8 type comparision with '-1'.
- Fix checkpatch warning for multi blank line and review signature.
10 Nov, 2019
6 commits
-
The RK809 is a Power Management IC (PMIC) for multimedia
and handheld devices. They contains the following components:
- Regulators(5*BUCKs, 9*LDOs, 2*SWITCHes)
- RTC
- ClockingSigned-off-by: Joseph Chen
Signed-off-by: Elaine Zhang
Reviewed-by: Kever Yang -
The RK817 is a Power Management IC (PMIC) for multimedia
and handheld devices. They contains the following components:
- Regulators(4*BUCKs, 1* BOOST, 9*LDOs, 1*SWITCH)
- RTC
- ClockingSigned-off-by: Joseph Chen
Signed-off-by: Elaine Zhang
Reviewed-by: Kever Yang -
The RK805 are a Power Management IC (PMIC) for multimedia
and handheld devices. They contains the following components:
- Regulators(4*BUCKs, 3*LDOs)
- RTC
- ClockingSigned-off-by: Elaine Zhang
Reviewed-by: Kever Yang -
The RK816 is a Power Management IC (PMIC) for multimedia
and handheld devices. They contains the following components:
- Regulators(4*BUCKs, 1*BOOST, 6*LDOs, 1*SWITCH)
- RTC
- ClockingSigned-off-by: Elaine Zhang
Reviewed-by: Kever Yang -
In order to adapt the following pmics, make the interface more compatible.
Support buck and ldo suspend voltage setting and getting.
Supprot buck and ldo suspend enable/disable setting and getting.Signed-off-by: Elaine Zhang
Reviewed-by: Kever Yang -
support parse regulator standard property:
regulator-off-in-suspend;
regulator-init-microvolt;
regulator-suspend-microvolt:
regulator_get_suspend_enable
regulator_set_suspend_enable
regulator_get_suspend_value
regulator_set_suspend_valueSigned-off-by: Joseph Chen
Signed-off-by: Elaine Zhang
Reviewed-by: Kever Yang
08 Nov, 2019
3 commits
-
The driver provides regulator set/get voltage
enable/disable functions for tps65941 family of PMICs.Signed-off-by: Keerthy
-
Add support to bind the regulators/child nodes with the pmic.
Signed-off-by: Keerthy
-
TPS6236x is a family of step down DC-DC converters optimized for battery
powered portable applications for a small solution size. Add a regulator
driver for supporting these devices.Signed-off-by: Tero Kristo
Signed-off-by: Keerthy