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
05 Nov, 2019
2 commits
-
The power domain tree is not accepted by Linux Kernel upstream.
only a single pd node is used currently, as following:pd: imx8qx-pd {
compatible = "fsl,imx8qm-scu-pd", "fsl,scu-pd";
#power-domain-cells = ;
};So to migrate to use upstream linux dts, we also need a driver
to support this.This patch is to support the new method, compared with legacy power
domain tree, it will be simpiler, because each device will
has resource id as power domain index, it will be directly passed
to scfw, and no need to let power domain build that tree. If multiple
power domain is needed, it is the dts node should has correctly power
domains entry added and sequence correct.Signed-off-by: Peng Fan
-
The current i.MX8 power domain driver is based on i.MX vendor
power domain tree which will retire later.The Linux upstream use a single pd node for power domain driver,
and U-Boot will adopt that. When U-Boot i.MX8 dts synced with
Linux Kernel upstream and related driver ready, the legacy
driver will be removed.Signed-off-by: Peng Fan
04 Nov, 2019
3 commits
-
Need to pass total 5 arguments for SIP HAB call on i.MX8MQ,
so update the interface to add new argument.Signed-off-by: Ye Li
[agust: fixed imx8m-power-domain build]
Signed-off-by: Anatolij Gustschin
Reviewed-by: Patrick Wildt
Reviewed-by: Peng Fan -
Add CONFIG_SPL_DM_PMIC_BD71837 to make this driver could be
used in SPL stageSigned-off-by: Peng Fan
-
Drop DEBUG macro definition which is used for debug purpose.
Signed-off-by: Peng Fan
18 Oct, 2019
1 commit
-
Based on the 54ecb8f7028c ("Linux 5.4-rc1") Everything-Else power domain
driver for Amlogic SoCs.This driver handles the VPU Power domain and other domains from the
Everything-Else part of the SM1 and G12A SoCs.Signed-off-by: Neil Armstrong