Message ID | 20230414093411.113787-4-cristian.ciocaltea@collabora.com |
---|---|
State | Superseded |
Headers | show |
Series | Add regulators to Rock 5B's CPU big cores | expand |
On 4/14/23 13:27, Krzysztof Kozlowski wrote: > On 14/04/2023 11:34, Cristian Ciocaltea wrote: >> The RK8602 and RK8603 voltage regulators on the Rock 5B board provide >> the power lines vdd_cpu_big0 and vdd_cpu_big1, respectively. >> >> Add the necessary device tree nodes and bind them to the corresponding >> CPU big core nodes. >> >> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> >> --- >> .../boot/dts/rockchip/rk3588-rock-5b.dts | 56 +++++++++++++++++++ >> 1 file changed, 56 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts >> index 8cc97d146a73..3e4aee8f70c1 100644 >> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts >> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts >> @@ -53,6 +53,62 @@ vcc5v0_sys: vcc5v0-sys-regulator { >> }; >> }; >> >> +&cpu_b0 { >> + cpu-supply = <&vdd_cpu_big0_s0>; >> +}; >> + >> +&cpu_b1 { >> + cpu-supply = <&vdd_cpu_big0_s0>; >> +}; >> + >> +&cpu_b2 { >> + cpu-supply = <&vdd_cpu_big1_s0>; >> +}; >> + >> +&cpu_b3 { >> + cpu-supply = <&vdd_cpu_big1_s0>; >> +}; >> + >> +&i2c0 { >> + pinctrl-names = "default"; >> + pinctrl-0 = <&i2c0m2_xfer>; >> + status = "okay"; >> + >> + vdd_cpu_big0_s0: regulator@42 { >> + compatible = "rockchip,rk8602"; > > Looking at your next node, this is surprising... Double check if you > have correct compatibles everywhere. > >> + reg = <0x42>; >> + fcs,suspend-voltage-selector = <1>; > > Does not look like you tested the DTS against bindings. Please run `make > dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst > for instructions). > >> + regulator-name = "vdd_cpu_big0_s0"; >> + regulator-always-on; >> + regulator-boot-on; >> + regulator-min-microvolt = <550000>; >> + regulator-max-microvolt = <1050000>; >> + regulator-ramp-delay = <2300>; >> + vin-supply = <&vcc5v0_sys>; >> + >> + regulator-state-mem { >> + regulator-off-in-suspend; >> + }; >> + }; >> + >> + vdd_cpu_big1_s0: regulator@43 { >> + compatible = "rockchip,rk8603", "rockchip,rk8602"; >> + reg = <0x43>; >> + fcs,suspend-voltage-selector = <1>; > > Does not look like you tested the DTS against bindings. Please run `make > dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst > for instructions). I mentioned in the cover letter that the support for the RK860X regulators has been recently merged via [1]. The patches in this series have been verified on next-20230413. [1] https://lore.kernel.org/lkml/20230406194158.963352-1-cristian.ciocaltea@collabora.com/ Thanks, Cristian
On 4/14/23 14:29, Krzysztof Kozlowski wrote: > On 14/04/2023 12:40, Cristian Ciocaltea wrote: >> On 4/14/23 13:27, Krzysztof Kozlowski wrote: >>> On 14/04/2023 11:34, Cristian Ciocaltea wrote: >>>> The RK8602 and RK8603 voltage regulators on the Rock 5B board provide >>>> the power lines vdd_cpu_big0 and vdd_cpu_big1, respectively. >>>> >>>> Add the necessary device tree nodes and bind them to the corresponding >>>> CPU big core nodes. >>>> >>>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> >>>> --- >>>> .../boot/dts/rockchip/rk3588-rock-5b.dts | 56 +++++++++++++++++++ >>>> 1 file changed, 56 insertions(+) >>>> >>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts >>>> index 8cc97d146a73..3e4aee8f70c1 100644 >>>> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts >>>> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts >>>> @@ -53,6 +53,62 @@ vcc5v0_sys: vcc5v0-sys-regulator { >>>> }; >>>> }; >>>> >>>> +&cpu_b0 { >>>> + cpu-supply = <&vdd_cpu_big0_s0>; >>>> +}; >>>> + >>>> +&cpu_b1 { >>>> + cpu-supply = <&vdd_cpu_big0_s0>; >>>> +}; >>>> + >>>> +&cpu_b2 { >>>> + cpu-supply = <&vdd_cpu_big1_s0>; >>>> +}; >>>> + >>>> +&cpu_b3 { >>>> + cpu-supply = <&vdd_cpu_big1_s0>; >>>> +}; >>>> + >>>> +&i2c0 { >>>> + pinctrl-names = "default"; >>>> + pinctrl-0 = <&i2c0m2_xfer>; >>>> + status = "okay"; >>>> + >>>> + vdd_cpu_big0_s0: regulator@42 { >>>> + compatible = "rockchip,rk8602"; >>> >>> Looking at your next node, this is surprising... Double check if you >>> have correct compatibles everywhere. >>> >>>> + reg = <0x42>; >>>> + fcs,suspend-voltage-selector = <1>; >>> >>> Does not look like you tested the DTS against bindings. Please run `make >>> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst >>> for instructions). >>> >>>> + regulator-name = "vdd_cpu_big0_s0"; >>>> + regulator-always-on; >>>> + regulator-boot-on; >>>> + regulator-min-microvolt = <550000>; >>>> + regulator-max-microvolt = <1050000>; >>>> + regulator-ramp-delay = <2300>; >>>> + vin-supply = <&vcc5v0_sys>; >>>> + >>>> + regulator-state-mem { >>>> + regulator-off-in-suspend; >>>> + }; >>>> + }; >>>> + >>>> + vdd_cpu_big1_s0: regulator@43 { >>>> + compatible = "rockchip,rk8603", "rockchip,rk8602"; >>>> + reg = <0x43>; >>>> + fcs,suspend-voltage-selector = <1>; >>> >>> Does not look like you tested the DTS against bindings. Please run `make >>> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst >>> for instructions). >> >> I mentioned in the cover letter that the support for the RK860X >> regulators has been recently merged via [1]. The patches in this >> series have been verified on next-20230413. > > OK. The question about compatibles still stays - but maybe you have > indeed 8603 and 8602 in the same time. Yes, according to [1], initially discussed in [2]. [1] https://lore.kernel.org/lkml/20230406194158.963352-2-cristian.ciocaltea@collabora.com/ [2] https://lore.kernel.org/lkml/ea1dfe0f-4ed3-9bfb-dc6b-6d87b0267a99@linaro.org/ Regards, Cristian
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts index 8cc97d146a73..3e4aee8f70c1 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts @@ -53,6 +53,62 @@ vcc5v0_sys: vcc5v0-sys-regulator { }; }; +&cpu_b0 { + cpu-supply = <&vdd_cpu_big0_s0>; +}; + +&cpu_b1 { + cpu-supply = <&vdd_cpu_big0_s0>; +}; + +&cpu_b2 { + cpu-supply = <&vdd_cpu_big1_s0>; +}; + +&cpu_b3 { + cpu-supply = <&vdd_cpu_big1_s0>; +}; + +&i2c0 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c0m2_xfer>; + status = "okay"; + + vdd_cpu_big0_s0: regulator@42 { + compatible = "rockchip,rk8602"; + reg = <0x42>; + fcs,suspend-voltage-selector = <1>; + regulator-name = "vdd_cpu_big0_s0"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <550000>; + regulator-max-microvolt = <1050000>; + regulator-ramp-delay = <2300>; + vin-supply = <&vcc5v0_sys>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdd_cpu_big1_s0: regulator@43 { + compatible = "rockchip,rk8603", "rockchip,rk8602"; + reg = <0x43>; + fcs,suspend-voltage-selector = <1>; + regulator-name = "vdd_cpu_big1_s0"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <550000>; + regulator-max-microvolt = <1050000>; + regulator-ramp-delay = <2300>; + vin-supply = <&vcc5v0_sys>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; +}; + &i2c6 { status = "okay";
The RK8602 and RK8603 voltage regulators on the Rock 5B board provide the power lines vdd_cpu_big0 and vdd_cpu_big1, respectively. Add the necessary device tree nodes and bind them to the corresponding CPU big core nodes. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> --- .../boot/dts/rockchip/rk3588-rock-5b.dts | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+)