Re: [PATCH RFC 2/7] arm64: dts: qcom: qcs6490-rb3gen2: Add qps615 node

From: Dmitry Baryshkov
Date: Wed Jun 26 2024 - 13:51:56 EST


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