mbox series

[00/17] Multiple addition to ipq8064 dtsi

Message ID 20220118012051.21691-1-ansuelsmth@gmail.com
Headers show
Series Multiple addition to ipq8064 dtsi | expand

Message

Christian Marangi Jan. 18, 2022, 1:20 a.m. UTC
This try to complete the ipq8064 dtsi and introduce 2 new dtsi
ipq8064-v2 and ipq8065. While some node are still missing (cpufreq node,
l2 scale node, fab scale node) this would add most of the missing node
to make ipq8064 actually usable.

Some of the changes are the fix for the pci IO that cause any secondary
wifi card with ath10k to fail init.
Adds regulators definition for RPM.
Adds many missing gsbi nodes used by all the devices.
Enable the usb phy by default as they are actually enabled internally by
xlate only if the dwc3 driver is used.
Add opp table and declare idle state for ipq8064.
Fix some dtc warning.

This also add the ipq8064-v2.0 dtsi and the ipq8065 dtsi used by more
recent devices based on this SoC.

Ansuel Smith (17):
  ARM: dts: qcom: add multiple missing pin definition for ipq8064
  ARM: dts: qcom: add gsbi6 missing definition for ipq8064
  ARM: dts: qcom: add missing rpm regulators and cells for ipq8064
  ARM: dts: qcom: add missing snps,dwmac compatible for gmac ipq8064
  ARM: dts: qcom: enable usb phy by default for ipq8064
  ARM: dts: qcom: reduce pci IO size to 64K for ipq8064
  ARM: dts: qcom: fix dtc warning for missing #address-cells for ipq8064
  ARM: dts: qcom: add smem node for ipq8064
  ARM: dts: qcom: add saw for l2 cache and kraitcc for ipq8064
  ARM: dts: qcom: add sic non secure node for ipq8064
  ARM: dts: qcom: fix and add some missing gsbi node for ipq8064
  ARM: dts: qcom: add opp table for cpu and l2 for ipq8064
  ARM: dts: qcom: add speedbin efuse nvmem binding
  ARM: dts: qcom: add multiple missing binding for cpu and l2 for
    ipq8064
  ARM: dts: qcom: remove redundant binding from ipq8064 rb3011 dts
  ARM: dts: qcom: add ipq8064-v2.0 dtsi
  ARM: dts: qcom: add ipq8065 dtsi

 arch/arm/boot/dts/qcom-ipq8064-rb3011.dts |  17 --
 arch/arm/boot/dts/qcom-ipq8064-v2.0.dtsi  |  70 +++++
 arch/arm/boot/dts/qcom-ipq8064.dtsi       | 344 +++++++++++++++++++++-
 arch/arm/boot/dts/qcom-ipq8065.dtsi       | 168 +++++++++++
 4 files changed, 568 insertions(+), 31 deletions(-)
 create mode 100644 arch/arm/boot/dts/qcom-ipq8064-v2.0.dtsi
 create mode 100644 arch/arm/boot/dts/qcom-ipq8065.dtsi

Comments

Bjorn Andersson Jan. 31, 2022, 10:51 p.m. UTC | #1
On Mon 17 Jan 19:20 CST 2022, Ansuel Smith wrote:

> This try to complete the ipq8064 dtsi and introduce 2 new dtsi
> ipq8064-v2 and ipq8065. While some node are still missing (cpufreq node,
> l2 scale node, fab scale node) this would add most of the missing node
> to make ipq8064 actually usable.
> 
> Some of the changes are the fix for the pci IO that cause any secondary
> wifi card with ath10k to fail init.
> Adds regulators definition for RPM.
> Adds many missing gsbi nodes used by all the devices.
> Enable the usb phy by default as they are actually enabled internally by
> xlate only if the dwc3 driver is used.
> Add opp table and declare idle state for ipq8064.
> Fix some dtc warning.
> 
> This also add the ipq8064-v2.0 dtsi and the ipq8065 dtsi used by more
> recent devices based on this SoC.
>
Christian Marangi Feb. 1, 2022, 9:58 p.m. UTC | #2
On Tue, Feb 01, 2022 at 02:39:20PM +0000, Jonathan McDowell wrote:
> On Mon, Jan 31, 2022 at 04:46:18PM -0600, Bjorn Andersson wrote:
> > On Mon 17 Jan 19:20 CST 2022, Ansuel Smith wrote:
> > 
> > > Add cells definition for rpm node and add missing regulators for the 4
> > > regulator present on ipq8064. There regulators are controlled by rpm and
> > > to correctly works gsbi4_i2c require to be NEVER disabled or rpm will
> > > reject any regulator change request.
> > > 
> > 
> > Is the SMB208 mandatory on all ipq8064 designs, or should this be pushed
> > out to the device dts?
> 
> It's not; the RB3011 uses a different regulator (a TPS563900).
>

Fact is that that's a special case. We have 20 devices based on ipq806x
and they all have smb208 regulators.

Is the TPS563900 also controlled by rpm? 

Anyway should we use a dedicated dtsi to declare the correct regulators?

> > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
> > > ---
> > >  arch/arm/boot/dts/qcom-ipq8064.dtsi | 35 +++++++++++++++++++++++++++++
> > >  1 file changed, 35 insertions(+)
> > > 
> > > diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > > index 094125605bea..824cf13dd037 100644
> > > --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > > +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> > > @@ -829,10 +829,45 @@ rpm: rpm@108000 {
> > >  			clocks = <&gcc RPM_MSG_RAM_H_CLK>;
> > >  			clock-names = "ram";
> > >  
> > > +			#address-cells = <1>;
> > > +			#size-cells = <0>;
> > > +
> > >  			rpmcc: clock-controller {
> > >  				compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
> > >  				#clock-cells = <1>;
> > >  			};
> > > +
> > > +			regulators {
> > > +				compatible = "qcom,rpm-smb208-regulators";
> > > +
> > > +				smb208_s1a: s1a {
> > > +					regulator-min-microvolt = <1050000>;
> > > +					regulator-max-microvolt = <1150000>;
> > > +
> > > +					qcom,switch-mode-frequency = <1200000>;
> > > +				};
> > > +
> > > +				smb208_s1b: s1b {
> > > +					regulator-min-microvolt = <1050000>;
> > > +					regulator-max-microvolt = <1150000>;
> > > +
> > > +					qcom,switch-mode-frequency = <1200000>;
> > > +				};
> > > +
> > > +				smb208_s2a: s2a {
> > > +					regulator-min-microvolt = < 800000>;
> > > +					regulator-max-microvolt = <1250000>;
> > > +
> > > +					qcom,switch-mode-frequency = <1200000>;
> > > +				};
> > > +
> > > +				smb208_s2b: s2b {
> > > +					regulator-min-microvolt = < 800000>;
> > > +					regulator-max-microvolt = <1250000>;
> > > +
> > > +					qcom,switch-mode-frequency = <1200000>;
> > > +				};
> > > +			};
> > >  		};
> > >  
> > >  		tcsr: syscon@1a400000 {
> > > -- 
> > > 2.33.1
> > > 
> 
> J.
> 
> -- 
> ... "There's no money, there's no weed. It's all been replaced by a fucking
>     big pile of corpses."  -- Lock, Stock and Two Smoking Barrels