[PATCH 2/2] arm64: dts: rockchip: Add Hardkernel ODROID-M1S board
Tim Lunn
tim at feathertop.org
Mon Jan 15 02:21:05 PST 2024
Hi Lee,
On 1/15/24 02:10, KyuHyuk Lee wrote:
>>> +
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + rk809: pmic at 20 {
>>> + compatible = "rockchip,rk809";
>>> + reg = <0x20>;
>>> + interrupt-parent = <&gpio0>;
>>> + interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
>>> + #clock-cells = <1>;
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&pmic_int_l>;
>>> + rockchip,system-power-controller;
>>> + vcc1-supply = <&vcc3v3_sys>;
>>> + vcc2-supply = <&vcc3v3_sys>;
>>> + vcc3-supply = <&vcc3v3_sys>;
>>> + vcc4-supply = <&vcc3v3_sys>;
>>> + vcc5-supply = <&vcc3v3_sys>;
>>> + vcc6-supply = <&vcc3v3_sys>;
>>> + vcc7-supply = <&vcc3v3_sys>;
>>> + vcc8-supply = <&vcc3v3_sys>;
>>> + vcc9-supply = <&vcc3v3_sys>;
>>> + wakeup-source;
>>> +
>>> + regulators {
>>> + vdd_logic: DCDC_REG1 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <500000>;
>>> + regulator-max-microvolt = <1350000>;
>>> + regulator-init-microvolt = <900000>;
Also "regulator-init-microvolt" is also copied from downstream and not
currently supported, see:
https://lore.kernel.org/all/20230707162217.675390-1-cristian.ciocaltea@collabora.com/
>>> + regulator-ramp-delay = <6001>;
>>> + regulator-initial-mode = <0x2>;
>>> + regulator-name = "vdd_logic";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vdd_gpu: DCDC_REG2 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <500000>;
>>> + regulator-max-microvolt = <1350000>;
>>> + regulator-init-microvolt = <900000>;
>>> + regulator-ramp-delay = <6001>;
>>> + regulator-initial-mode = <0x2>;
>>> + regulator-name = "vdd_gpu";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vcc_ddr: DCDC_REG3 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-initial-mode = <0x2>;
>>> + regulator-name = "vcc_ddr";
>>> + regulator-state-mem {
>>> + regulator-on-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vdd_npu: DCDC_REG4 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <500000>;
>>> + regulator-max-microvolt = <1350000>;
>>> + regulator-init-microvolt = <900000>;
>>> + regulator-ramp-delay = <6001>;
>>> + regulator-initial-mode = <0x2>;
>>> + regulator-name = "vdd_npu";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vdda0v9_image: LDO_REG1 {
>>> + regulator-boot-on;
>>> + regulator-always-on;
>>> + regulator-min-microvolt = <900000>;
>>> + regulator-max-microvolt = <900000>;
>>> + regulator-name = "vdda0v9_image";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vdda_0v9: LDO_REG2 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <900000>;
>>> + regulator-max-microvolt = <900000>;
>>> + regulator-name = "vdda_0v9";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vdda0v9_pmu: LDO_REG3 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <900000>;
>>> + regulator-max-microvolt = <900000>;
>>> + regulator-name = "vdda0v9_pmu";
>>> + regulator-state-mem {
>>> + regulator-on-in-suspend;
>>> + regulator-suspend-microvolt = <900000>;
>>> + };
>>> + };
>>> +
>>> + vccio_acodec: LDO_REG4 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <3000000>;
>>> + regulator-max-microvolt = <3000000>;
>>> + regulator-name = "vccio_acodec";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vccio_sd: LDO_REG5 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <3300000>;
>>> + regulator-name = "vccio_sd";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vcc3v3_pmu: LDO_REG6 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <3300000>;
>>> + regulator-max-microvolt = <3300000>;
>>> + regulator-name = "vcc3v3_pmu";
>>> + regulator-state-mem {
>>> + regulator-on-in-suspend;
>>> + regulator-suspend-microvolt = <3300000>;
>>> + };
>>> + };
>>> +
>>> + vcca_1v8: LDO_REG7 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <1800000>;
>>> + regulator-name = "vcca_1v8";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vcca1v8_ddr: LDO_REG8 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <1800000>;
>>> + regulator-name = "vcca1v8_pmu";
>>> + regulator-state-mem {
>>> + regulator-on-in-suspend;
>>> + regulator-suspend-microvolt = <1800000>;
>>> + };
>>> + };
>>> +
>>> + vcca1v8_image: LDO_REG9 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <1800000>;
>>> + regulator-name = "vcca1v8_image";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vcc_1v8: DCDC_REG5 {
>> Maybe its just me, but seems odd that DCDC_REG5 is out of order with the
>> other DCDC regulators above.
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <1800000>;
>>> + regulator-name = "vcc_1v8";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vcc_3v3: SWITCH_REG1 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-name = "vcc_3v3";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> +
>>> + vcc3v3_sd: SWITCH_REG2 {
>>> + regulator-always-on;
>>> + regulator-boot-on;
>>> + regulator-name = "vcc3v3_sd";
>>> + regulator-state-mem {
>>> + regulator-off-in-suspend;
>>> + };
>>> + };
>>> + };
>>> + };
>>> +};
>>> +
>>> +&pinctrl {
>>> + leds {
>>> + led_power_pin: led-power-pin {
>>> + rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
>>> + };
>>> + led_work_pin: led-work-pin {
>>> + rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
>>> + };
>>> + };
>>> +
>>> + pmic {
>>> + pmic_int_l: pmic-int-l {
>>> + rockchip,pins =
>>> + <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
>>> + };
>>> + };
>>> +};
>>> +
>>> +&pmu_io_domains {
>>> + pmuio2-supply = <&vcc3v3_pmu>;
>>> + vccio1-supply = <&vccio_acodec>;
>>> + vccio3-supply = <&vccio_sd>;
>>> + vccio4-supply = <&vcc_3v3>;
>>> + vccio5-supply = <&vcc_3v3>;
>>> + vccio6-supply = <&vcc_3v3>;
>>> + vccio7-supply = <&vcc_3v3>;
>>> + status = "okay";
>>> +};
>> Did you miss pmuio1 and vccio2 here? the latter of which is the eMMC domain.
>>
>> Are you planning to add additional patches for usb, gmac etc? I had been
>> working through cleaning up these device tree files with a view to
>> submitting them soon also.
>>
>> Regards
>> Tim
> Hello Tim. Thank you for your reviewing.
>
> I'll check you said above.
>
> Yes, I am planning additional patches like usb, gmac as you said.
> May I understand that you cleaned up my patch?
No, I've been working from the Hardkernel and Tobetters device trees.
Regards
Tim
> I look forward to your reply.
>
> Thank you,
> KyuHyuk Lee.
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
More information about the linux-arm-kernel
mailing list