[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