[v6,0/7] Add TPS6594 PMIC support on several boards

Message ID 20230810-tps6594-v6-0-2b2e2399e2ef@ti.com
Headers
Series Add TPS6594 PMIC support on several boards |

Message

Jai Luthra Aug. 9, 2023, 7:46 p.m. UTC
  TPS6594 is a Power Management IC which provides regulators and others
features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and
PFSM (Pre-configurable Finite State Machine). The SoC and the PMIC can
communicate through the I2C or SPI interfaces.
TPS6594 is the super-set device while TPS6593 and LP8764 are derivatives.

This serie adds device tree nodes for TI TPS6594 PMICs found in the
following boards:
- J721EXSOMXEVM:
  Link: https://www.ti.com/tool/J721EXSOMXEVM
- J721S2XSOMXEVM:
  Link: https://www.ti.com/tool/J721S2XSOMXEVM
- J7200XSOMXEVM:
  Link: https://www.ti.com/tool/J7200XSOMXEVM
- AM62A-SKEVM:
  Link: https://www.ti.com/tool/SK-AM62A-LP
- J784S4XEVM
  Link: https://www.ti.com/tool/J784S4XEVM

---
Changes from v5:
https://lore.kernel.org/all/20230809-tps6594-v5-0-485fd3d63670@ti.com
- Range-diff: http://0x0.st/H_fD.diff
- Reword the patch fixing interrupt ranges for mcu domain gpio intr, and
  add Fixes: tag
- Also fix interrupt ranges for main domain gpio intr in the same patch
- Change pinctrl node names to end in -pins to fix dtbs_check warnings
- (New Patch) Enable TPS6594 in defconfig

Changes from v4:
https://lore.kernel.org/all/20230727130908.10656-1-eblanc@baylibre.com/
- Range-diff: https://0x0.st/H_L7.diff
- Rebased on top of linux-next
- Fix min voltage on vdd_usb_3v3 regulator (ldo2) on j721e-som
- Use 3-hex-digit format for pinctrl values

Changes from v3:
https://lore.kernel.org/all/20230417154832.216774-1-eblanc@baylibre.com/
- Rebased on top of v6.5-rc1.
- Change pinctrl number for irq pin as wkup_pmx0 was split on some boards.
- Use already present wkup_i2c0 node instead of creating a new one.

Changes from v2:
https://lore.kernel.org/lkml/20230414112843.1358067-1-eblanc@baylibre.com/
- Change node name as per Krzysztof review.
- Add a fix for the interrupt range of wakeup gpio used by TPS6594 pmic
  on J784S4.
  The interruptions of the PMIC were not working before that.
- Remove dependencies on other patch series as that was a mistake, see
  https://lore.kernel.org/lkml/CRYY2V3HJ0CP.96JQ18PLZB3C@burritosblues/

Changes from v1:
https://lore.kernel.org/lkml/20230329142948.833800-1-eblanc@baylibre.com/
- Harmonize regulators names across the different boards.
- Adjust AVS voltage range.
- Remove some outdated comments.
- Add PMIC to J784S4 board.
- Compatible string modified to match dt-bindings.
- Add gpio-controller and gpio-cells properties.

---
Apelete Seketeli (1):
      arm64: dts: ti: k3-j784s4: Fix interrupt ranges for wkup & main gpio

Esteban Blanc (2):
      arm64: dts: ti: k3-j7200-som-p0: Add TP6594 family PMICs
      arm64: dts: ti: k3-j721s2-som-p0: Add TP6594 family PMICs

Jai Luthra (1):
      arm64: defconfig: Enable TPS6593 PMIC for SK-AM62A

Jerome Neanne (2):
      arm64: dts: ti: k3-j721e-som-p0: Add TP6594 family PMICs
      arm64: dts: ti: k3-j784s4-evm: Add support for TPS6594 PMIC

Julien Panis (1):
      arm64: dts: ti: k3-am62a7-sk: Add support for TPS6593 PMIC

 arch/arm64/boot/dts/ti/k3-am62a7-sk.dts          |  95 +++++++++++
 arch/arm64/boot/dts/ti/k3-j7200-som-p0.dtsi      | 157 ++++++++++++++++++
 arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi      | 163 +++++++++++++++++++
 arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi     | 199 +++++++++++++++++++++++
 arch/arm64/boot/dts/ti/k3-j784s4-evm.dts         | 104 ++++++++++++
 arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi       |   2 +-
 arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi |   2 +-
 arch/arm64/configs/defconfig                     |   1 +
 8 files changed, 721 insertions(+), 2 deletions(-)
---
base-commit: 21ef7b1e17d039053edaeaf41142423810572741
change-id: 20230809-tps6594-e450b5738e66

Best regards,
  

Comments

Nishanth Menon Aug. 10, 2023, 2:47 a.m. UTC | #1
On 01:16-20230810, Jai Luthra wrote:
>  arch/arm64/boot/dts/ti/k3-am62a7-sk.dts          |  95 +++++++++++
>  arch/arm64/boot/dts/ti/k3-j7200-som-p0.dtsi      | 157 ++++++++++++++++++
>  arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi      | 163 +++++++++++++++++++
>  arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi     | 199 +++++++++++++++++++++++

Sigh.. Thanks Jai for stepping and trying to make this work, but I think
this series is a lot out of whack. Apparently somewhere in this series
is a patch for j721s2 that breaks proper boot. I spent quite a while
bisecting across boards to find it, So, I am just going to skip this
series for this release (and dependencies)

Next time for this series: I recommend submitter provide test
logs for every single platform touched.

https://gist.github.com/nmenon/72e5f9b344e9207863d93491f5bf4f8e

I have'nt debugged, but typically that looks like some one decided to
pull the voltage low on a key rail.

Let me see if I can pick the interrupt range fix at least since
should'nt be dependent on this.

>  arch/arm64/boot/dts/ti/k3-j784s4-evm.dts         | 104 ++++++++++++
>  arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi       |   2 +-
>  arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi |   2 +-
>  arch/arm64/configs/defconfig                     |   1 +
>  8 files changed, 721 insertions(+), 2 deletions(-)
> ---
> base-commit: 21ef7b1e17d039053edaeaf41142423810572741
> change-id: 20230809-tps6594-e450b5738e66
> 
> Best regards,
> -- 
> Jai Luthra <j-luthra@ti.com>
> 


bisect log: (commit sha's dont mean a thing.. but anyways..)
git bisect start
# good: [f2e72716f089d6fcc4bf7b8cb7ac874b79ed05b1] iommu: dev->iommu->iommu_dev must be set before ops->device_group()
git bisect good f2e72716f089d6fcc4bf7b8cb7ac874b79ed05b1
# bad: [31f83ee5e42290c39e0bce42118ad1267eaf2790] arm64: dts: ti: k3-am64: Enable TSCADC nodes at the board level
git bisect bad 31f83ee5e42290c39e0bce42118ad1267eaf2790
# bad: [f51a52fc98cddb7b99ecb19d86c40845f7e8d91e] arm64: dts: ti: k3-am62a7-sk: Split vcc_3v3 regulators
git bisect bad f51a52fc98cddb7b99ecb19d86c40845f7e8d91e
# good: [0cc1aecdc1024eced6914f015dbc43c28f5ac6aa] arm64: dts: ti: k3-j721s2-som-p0: Add TP6594 family PMICs
git bisect good 0cc1aecdc1024eced6914f015dbc43c28f5ac6aa
# good: [8b4e4f23f60df9c8aadb0e26cb86b13735ed810b] arm64: dts: ti: k3-j784s4-evm: Add support for TPS6594 PMIC
git bisect good 8b4e4f23f60df9c8aadb0e26cb86b13735ed810b
# bad: [38ff20140c2cf09ba140234732dd03a9743ebd32] arm64: defconfig: Enable TPS6593 PMIC for SK-AM62A
git bisect bad 38ff20140c2cf09ba140234732dd03a9743ebd32
# good: [3e98e865a6135bef7d801b5c5236a42a0ef1bff2] arm64: dts: ti: k3-am62a7-sk: Add support for TPS6593 PMIC
git bisect good 3e98e865a6135bef7d801b5c5236a42a0ef1bff2
# first bad commit: [38ff20140c2cf09ba140234732dd03a9743ebd32] arm64: defconfig: Enable TPS6593 PMIC for SK-AM62A
  
Nishanth Menon Aug. 10, 2023, 5:21 a.m. UTC | #2
Hi Jai Luthra,

On Thu, 10 Aug 2023 01:16:18 +0530, Jai Luthra wrote:
> TPS6594 is a Power Management IC which provides regulators and others
> features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and
> PFSM (Pre-configurable Finite State Machine). The SoC and the PMIC can
> communicate through the I2C or SPI interfaces.
> TPS6594 is the super-set device while TPS6593 and LP8764 are derivatives.
> 
> This serie adds device tree nodes for TI TPS6594 PMICs found in the
> following boards:
> - J721EXSOMXEVM:
> - J721S2XSOMXEVM:
> - J7200XSOMXEVM:
> - AM62A-SKEVM:
> - J784S4XEVM
> 
> [...]

As I mentioned in the previous response - this needs much deeper review - I
recommend actual test log and board schematics links to cross verify we are
modifying the correct platforms in the right manner. So, I am not picking up
the defconfig either as it did'nt make sense to pick it up without dts
actually using it.

Only patch I could reasonably pick is the one below (ideally should
have been sent independent of the series, but, ok.).

I have applied the following to branch ti-k3-dts-next on [1].
Thank you!

[4/7] arm64: dts: ti: k3-j784s4: Fix interrupt ranges for wkup & main gpio
      commit: 05a1f130101e7a49ff1e8734939facd43596ea26

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git