1c6d29c66SChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2c6d29c66SChristian Hewitt/*
3c6d29c66SChristian Hewitt * Copyright (c) 2019 BayLibre, SAS
4c6d29c66SChristian Hewitt * Author: Neil Armstrong <narmstrong@baylibre.com>
5c6d29c66SChristian Hewitt * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
6c6d29c66SChristian Hewitt */
7c6d29c66SChristian Hewitt
8c6d29c66SChristian Hewitt/ {
91f685750SChristian Hewitt	model = "Khadas VIM3";
101f685750SChristian Hewitt
11c6d29c66SChristian Hewitt	vddcpu_a: regulator-vddcpu-a {
12c6d29c66SChristian Hewitt		/*
13c6d29c66SChristian Hewitt		 * MP8756GD Regulator.
14c6d29c66SChristian Hewitt		 */
15c6d29c66SChristian Hewitt		compatible = "pwm-regulator";
16c6d29c66SChristian Hewitt
17c6d29c66SChristian Hewitt		regulator-name = "VDDCPU_A";
18c6d29c66SChristian Hewitt		regulator-min-microvolt = <690000>;
19c6d29c66SChristian Hewitt		regulator-max-microvolt = <1050000>;
20c6d29c66SChristian Hewitt
21*2b9828e4SAnand Moon		pwm-supply = <&dc_in>;
22c6d29c66SChristian Hewitt
23c6d29c66SChristian Hewitt		pwms = <&pwm_ab 0 1250 0>;
24c6d29c66SChristian Hewitt		pwm-dutycycle-range = <100 0>;
25c6d29c66SChristian Hewitt
26c6d29c66SChristian Hewitt		regulator-boot-on;
27c6d29c66SChristian Hewitt		regulator-always-on;
28c6d29c66SChristian Hewitt	};
29c6d29c66SChristian Hewitt
30c6d29c66SChristian Hewitt	vddcpu_b: regulator-vddcpu-b {
31c6d29c66SChristian Hewitt		/*
32c6d29c66SChristian Hewitt		 * Silergy SY8030DEC Regulator.
33c6d29c66SChristian Hewitt		 */
34c6d29c66SChristian Hewitt		compatible = "pwm-regulator";
35c6d29c66SChristian Hewitt
36c6d29c66SChristian Hewitt		regulator-name = "VDDCPU_B";
37c6d29c66SChristian Hewitt		regulator-min-microvolt = <690000>;
38c6d29c66SChristian Hewitt		regulator-max-microvolt = <1050000>;
39c6d29c66SChristian Hewitt
40*2b9828e4SAnand Moon		pwm-supply = <&vsys_3v3>;
41c6d29c66SChristian Hewitt
42c6d29c66SChristian Hewitt		pwms = <&pwm_AO_cd 1 1250 0>;
43c6d29c66SChristian Hewitt		pwm-dutycycle-range = <100 0>;
44c6d29c66SChristian Hewitt
45c6d29c66SChristian Hewitt		regulator-boot-on;
46c6d29c66SChristian Hewitt		regulator-always-on;
47c6d29c66SChristian Hewitt	};
48c6d29c66SChristian Hewitt};
49c6d29c66SChristian Hewitt
50c6d29c66SChristian Hewitt&cpu0 {
51c6d29c66SChristian Hewitt	cpu-supply = <&vddcpu_b>;
52c6d29c66SChristian Hewitt	operating-points-v2 = <&cpu_opp_table_0>;
53c6d29c66SChristian Hewitt	clocks = <&clkc CLKID_CPU_CLK>;
54c6d29c66SChristian Hewitt	clock-latency = <50000>;
55c6d29c66SChristian Hewitt};
56c6d29c66SChristian Hewitt
57c6d29c66SChristian Hewitt&cpu1 {
58c6d29c66SChristian Hewitt	cpu-supply = <&vddcpu_b>;
59c6d29c66SChristian Hewitt	operating-points-v2 = <&cpu_opp_table_0>;
60c6d29c66SChristian Hewitt	clocks = <&clkc CLKID_CPU_CLK>;
61c6d29c66SChristian Hewitt	clock-latency = <50000>;
62c6d29c66SChristian Hewitt};
63c6d29c66SChristian Hewitt
64c6d29c66SChristian Hewitt&cpu100 {
65c6d29c66SChristian Hewitt	cpu-supply = <&vddcpu_a>;
66c6d29c66SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
67c6d29c66SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
68c6d29c66SChristian Hewitt	clock-latency = <50000>;
69c6d29c66SChristian Hewitt};
70c6d29c66SChristian Hewitt
71c6d29c66SChristian Hewitt&cpu101 {
72c6d29c66SChristian Hewitt	cpu-supply = <&vddcpu_a>;
73c6d29c66SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
74c6d29c66SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
75c6d29c66SChristian Hewitt	clock-latency = <50000>;
76c6d29c66SChristian Hewitt};
77c6d29c66SChristian Hewitt
78c6d29c66SChristian Hewitt&cpu102 {
79c6d29c66SChristian Hewitt	cpu-supply = <&vddcpu_a>;
80c6d29c66SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
81c6d29c66SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
82c6d29c66SChristian Hewitt	clock-latency = <50000>;
83c6d29c66SChristian Hewitt};
84c6d29c66SChristian Hewitt
85c6d29c66SChristian Hewitt&cpu103 {
86c6d29c66SChristian Hewitt	cpu-supply = <&vddcpu_a>;
87c6d29c66SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
88c6d29c66SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
89c6d29c66SChristian Hewitt	clock-latency = <50000>;
90c6d29c66SChristian Hewitt};
91c6d29c66SChristian Hewitt
92c6d29c66SChristian Hewitt&pwm_ab {
93c6d29c66SChristian Hewitt	pinctrl-0 = <&pwm_a_e_pins>;
94c6d29c66SChristian Hewitt	pinctrl-names = "default";
95c6d29c66SChristian Hewitt	clocks = <&xtal>;
96c6d29c66SChristian Hewitt	clock-names = "clkin0";
97c6d29c66SChristian Hewitt	status = "okay";
98c6d29c66SChristian Hewitt};
99c6d29c66SChristian Hewitt
100c6d29c66SChristian Hewitt&pwm_AO_cd {
101c6d29c66SChristian Hewitt	pinctrl-0 = <&pwm_ao_d_e_pins>;
102c6d29c66SChristian Hewitt	pinctrl-names = "default";
103c6d29c66SChristian Hewitt	clocks = <&xtal>;
104c6d29c66SChristian Hewitt	clock-names = "clkin1";
105c6d29c66SChristian Hewitt	status = "okay";
106c6d29c66SChristian Hewitt};
107c6d29c66SChristian Hewitt
108