On Wed, Jun 26, 2024 at 06:07:50PM GMT, Krishna chaitanya chundru wrote: > QPS615 switch power is controlled by GPIO's. Once the GPIO's are > enabled, switch power will be on. > > Make all GPIO's as fixed regulators and inter link them so that > enabling the regulator will enable power to the switch by enabling > GPIO's. > > Enable i2c0 which is required to configure the switch. > > Signed-off-by: Krishna chaitanya chundru <quic_krichai@xxxxxxxxxxx> > --- > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 55 ++++++++++++++++++++++++++++ > 1 file changed, 55 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > index a085ff5b5fb2..5b453896a6c9 100644 > --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > @@ -511,6 +511,61 @@ vreg_bob_3p296: bob { > regulator-max-microvolt = <3960000>; > }; > }; > + > + qps615_0p9_vreg: qps615-0p9-vreg { > + compatible = "regulator-fixed"; > + regulator-name = "qps615_0p9_vreg"; > + gpio = <&pm8350c_gpios 2 0>; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + enable-active-high; > + regulator-enable-ramp-delay = <4300>; > + }; > + > + qps615_1p8_vreg: qps615-1p8-vreg { > + compatible = "regulator-fixed"; > + regulator-name = "qps615_1p8_vreg"; > + gpio = <&pm8350c_gpios 3 0>; > + vin-supply = <&qps615_0p9_vreg>; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + enable-active-high; > + regulator-enable-ramp-delay = <10000>; > + }; > + > + qps615_rsex_vreg: qps615-rsex-vreg { > + compatible = "regulator-fixed"; > + regulator-name = "qps615_rsex_vreg"; > + gpio = <&pm8350c_gpios 1 0>; > + vin-supply = <&qps615_1p8_vreg>; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + enable-active-high; > + regulator-enable-ramp-delay = <10000>; > + }; > +}; > + > +&i2c0 { > + clock-frequency = <100000>; > + status = "okay"; > +}; > + > +&pcie1 { > + pcie@0 { > + device_type = "pci"; > + reg = <0x0 0x0 0x0 0x0 0x0>; > + #address-cells = <3>; > + #size-cells = <2>; > + > + bus-range = <0x01 0xff>; > + > + qps615@0 { > + compatible = "pci1179,0623"; > + reg = <0x1000 0x0 0x0 0x0 0x0>; > + vdda-supply = <&qps615_rsex_vreg>; > + switch-i2c-cntrl = <&i2c0>; We already have proper bindings for I2C devices. The QPS615 obviously has and I2C device inside. Please add it to DT instead of referencing the whole bus. > + }; > + }; > }; > > &gcc { > > -- > 2.42.0 > -- With best wishes Dmitry