| #
c1dd9e63 |
| 08-Feb-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes I7bd311d7,Iea7dcfe3,I9d890934 into integration
* changes: refactor(allwinner): use fdt_node_is_enabled() in AXP driver fix(allwinner): check RSB availability in DT on H6 refactor
Merge changes I7bd311d7,Iea7dcfe3,I9d890934 into integration
* changes: refactor(allwinner): use fdt_node_is_enabled() in AXP driver fix(allwinner): check RSB availability in DT on H6 refactor(fdt): introduce common fdt_node_is_enabled()
show more ...
|
| #
06eb3e36 |
| 03-Feb-2023 |
Andre Przywara <andre.przywara@arm.com> |
refactor(allwinner): use fdt_node_is_enabled() in AXP driver
The Allwinner AXP driver was using a private implementation of that function, remove that in favour of our now common implementation.
Ch
refactor(allwinner): use fdt_node_is_enabled() in AXP driver
The Allwinner AXP driver was using a private implementation of that function, remove that in favour of our now common implementation.
Change-Id: I7bd311d73060d4bc83f93cff6bedf6c78dddd3ca Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
e752fa4a |
| 01-Jan-2022 |
André Przywara <andre.przywara@arm.com> |
Merge "feat(allwinner): allow to skip PMIC regulator setup" into integration
|
| #
67412e4d |
| 01-Nov-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(allwinner): allow to skip PMIC regulator setup
For somewhat historical reasons we are doing some initial PMIC regulator setup in BL31, as U-Boot does not (yet) have a PMIC driver. This worked f
feat(allwinner): allow to skip PMIC regulator setup
For somewhat historical reasons we are doing some initial PMIC regulator setup in BL31, as U-Boot does not (yet) have a PMIC driver. This worked fine so far, but there is at least one board (OrangePi 3) that gets upset, because the Ethernet PHY needs some *coordinated* bringup of *two* regulators.
To avoid custom hacks, let's introduce a build option to keep doing the regulator setup in TF-A. Defining SUNXI_SETUP_REGULATORS to 0 will break support for some devices on some boards in U-Boot (Ethernet and HDMI), but will allow to bring up the OrangePi 3 in Linux correctly. We keep the default at 1 to not change the behaviour for all other boards.
After U-Boot gained proper PMIC support at some point in the future, we will probably change the default to 0, to get rid of the less optimal PMIC code in TF-A.
Signed-off-by: Andre Przywara <andre.przywara@arm.com> Change-Id: Ie8e2583d0396f6eeaae8ffe6b6190f27db63e2a7
show more ...
|
| #
71e7cb73 |
| 25-Mar-2021 |
André Przywara <andre.przywara@arm.com> |
Merge "plat/allwinner: do not setup 'disabled' regulators" into integration
|
| #
9655a1f5 |
| 15-Mar-2021 |
Roman Beranek <roman.beranek@prusa3d.com> |
plat/allwinner: do not setup 'disabled' regulators
If a PMIC regulator has its DT node disabled, leave the regulator off.
Change-Id: I895f740328e8f11d485829c3a89a9b9f8e5644be Signed-off-by: Roman B
plat/allwinner: do not setup 'disabled' regulators
If a PMIC regulator has its DT node disabled, leave the regulator off.
Change-Id: I895f740328e8f11d485829c3a89a9b9f8e5644be Signed-off-by: Roman Beranek <roman.beranek@prusa3d.com>
show more ...
|
| #
e168b66d |
| 19-Aug-2020 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "aw_drivevbus" into integration
* changes: plat/allwinner: Only enable DRIVEVBUS if really needed plat/allwinner: Use common gicv2.mk
|
| #
93fa305c |
| 02-Aug-2020 |
Andre Przywara <andre.przywara@arm.com> |
plat/allwinner: Only enable DRIVEVBUS if really needed
The DRIVEVBUS power rail of the AXP803 PMIC is mostly used to supply the USB bus power on micro USB sockets, when used in host mode. As this is
plat/allwinner: Only enable DRIVEVBUS if really needed
The DRIVEVBUS power rail of the AXP803 PMIC is mostly used to supply the USB bus power on micro USB sockets, when used in host mode. As this is a dynamic operation, and mostly we want micro USB sockets to act in client mode initially, BL31 should not actually enable this power line. However, on some boards DRIVEVBUS is used to supply power to normal USB-A sockets. Failing to activate this line there results in non-functional USB in U-Boot on those boards.
For that reason we were enabling DRIVEVBUS so far, as it did not seem to cause any harm to the other boards. However it turns out that on the Pinephone (and other systems with a battery), actually enabling DRIVEVBUS unconditionally causes serious problems (reboot loop).
To accommodate both use cases, without reverting to a build time option, check the default OTG configuration in the devicetree. For boards with USB-A sockets this is set to "host", on boards with micro-B sockets to "otg". Depending on this setting, we either enable DRIVEVBUS or leave it alone.
This fixes TF-A on the Pinephone and potentially other battery powered devices.
Change-Id: Iec0e07f218b2b4393bf4e05c3386261f8ed19e9f Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
0d35873c |
| 17-Dec-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "allwinner_pmic" into integration
* changes: allwinner: h6: power: Switch to using the AXP driver drivers: allwinner: axp: Add AXP805 support
|
| #
2f3abc19 |
| 17-Dec-2019 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topic "allwinner_pmic" into integration
* changes: allwinner: Convert AXP803 regulator setup code into a driver allwinner: a64: power: Use fdt_for_each_subnode allwinner: a6
Merge changes from topic "allwinner_pmic" into integration
* changes: allwinner: Convert AXP803 regulator setup code into a driver allwinner: a64: power: Use fdt_for_each_subnode allwinner: a64: power: Remove obsolete register check allwinner: a64: power: Remove duplicate DT check allwinner: Build PMIC bus drivers only in BL31 allwinner: a64: power: Make sunxi_turn_off_soc static allwinner: Merge duplicate code in sunxi_power_down allwinner: Clean up PMIC-related error handling allwinner: Synchronize PMIC enumerations allwinner: Enable clock before resetting I2C/RSB
show more ...
|
| #
0bc752c9 |
| 21-Oct-2019 |
Samuel Holland <samuel@sholland.org> |
allwinner: Convert AXP803 regulator setup code into a driver
Previously, the A64/H5 and H6 platforms' PMIC setup code was entirely independent. However, some H6 boards also need early regulator setu
allwinner: Convert AXP803 regulator setup code into a driver
Previously, the A64/H5 and H6 platforms' PMIC setup code was entirely independent. However, some H6 boards also need early regulator setup.
Most of the register interface and all of the device tree traversal code can be reused between the AXP803 and AXP805. The main difference is the hardware bus interface, so that part is left to the platforms. The remainder is moved into a driver.
I factored out the bits that were obviously specific to the AXP803; additional changes for compatibility with other PMICs can be made as needed.
The only functional change is that rsb_init() now checks the PMIC's chip ID register against the expected value. This was already being done in the H6 version of the code.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Icdcf9edd6565f78cccc503922405129ac27e08a2
show more ...
|
| #
f6d9c4ca |
| 21-Oct-2019 |
Samuel Holland <samuel@sholland.org> |
drivers: allwinner: axp: Add AXP805 support
This adds the new regulator list, as well as changes to make the switch (equivalent to DC1SW on the AXP803) work on both PMICs.
Signed-off-by: Samuel Hol
drivers: allwinner: axp: Add AXP805 support
This adds the new regulator list, as well as changes to make the switch (equivalent to DC1SW on the AXP803) work on both PMICs.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: I9a1eac8ddfc54b27096c10a8eebdd51aaf9b8311
show more ...
|