Linux Audio

Check our new training course

Linux debugging, profiling, tracing and performance analysis training

Apr 14-17, 2025
Register
Loading...
Note: File does not exist in v6.8.
  1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2/*
  3 * Roseapple Pi
  4 *
  5 * Copyright (C) 2020-2021 Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
  6 */
  7
  8/dts-v1/;
  9
 10#include "owl-s500.dtsi"
 11
 12/ {
 13	compatible = "roseapplepi,roseapplepi", "actions,s500";
 14	model = "Roseapple Pi";
 15
 16	aliases {
 17		mmc0 = &mmc0;
 18		serial2 = &uart2;
 19	};
 20
 21	chosen {
 22		stdout-path = "serial2:115200n8";
 23	};
 24
 25	memory@0 {
 26		device_type = "memory";
 27		reg = <0x0 0x80000000>; /* 2GB */
 28	};
 29
 30	syspwr: regulator-5v0 {
 31		compatible = "regulator-fixed";
 32		regulator-name = "SYSPWR";
 33		regulator-min-microvolt = <5000000>;
 34		regulator-max-microvolt = <5000000>;
 35		regulator-always-on;
 36	};
 37};
 38
 39&cpu0 {
 40	cpu0-supply = <&vdd_cpu>;
 41};
 42
 43&i2c0 {
 44	status = "okay";
 45	pinctrl-names = "default";
 46	pinctrl-0 = <&i2c0_pins>;
 47
 48	atc260x: pmic@65 {
 49		compatible = "actions,atc2603c";
 50		reg = <0x65>;
 51		interrupt-parent = <&sirq>;
 52		interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
 53
 54		reset-time-sec = <6>;
 55
 56		regulators {
 57			compatible = "actions,atc2603c-regulator";
 58
 59			dcdc1-supply = <&syspwr>;
 60			dcdc2-supply = <&syspwr>;
 61			dcdc3-supply = <&syspwr>;
 62			ldo1-supply = <&syspwr>;
 63			ldo2-supply = <&syspwr>;
 64			ldo3-supply = <&syspwr>;
 65			ldo5-supply = <&syspwr>;
 66			ldo6-supply = <&syspwr>;
 67			ldo7-supply = <&syspwr>;
 68			ldo8-supply = <&syspwr>;
 69			ldo11-supply = <&syspwr>;
 70			ldo12-supply = <&syspwr>;
 71			switchldo1-supply = <&vcc>;
 72
 73			vdd_cpu: dcdc1 {
 74				regulator-name = "VDD_CPU";
 75				regulator-min-microvolt = <700000>;
 76				regulator-max-microvolt = <1400000>;
 77				regulator-always-on;
 78			};
 79
 80			vddq: dcdc2 {
 81				regulator-name = "VDDQ";
 82				regulator-min-microvolt = <1300000>;
 83				regulator-max-microvolt = <2150000>;
 84				regulator-always-on;
 85				regulator-boot-on;
 86			};
 87
 88			vcc: dcdc3 {
 89				regulator-name = "VCC";
 90				regulator-min-microvolt = <2600000>;
 91				regulator-max-microvolt = <3300000>;
 92				regulator-always-on;
 93			};
 94
 95			vcc_3v3: ldo1 {
 96				regulator-name = "VCC_3V3";
 97				regulator-min-microvolt = <2600000>;
 98				regulator-max-microvolt = <3300000>;
 99				regulator-always-on;
100			};
101
102			avcc: ldo2 {
103				regulator-name = "AVCC";
104				regulator-min-microvolt = <2600000>;
105				regulator-max-microvolt = <3300000>;
106				regulator-always-on;
107			};
108
109			vdd_1v8: ldo3 {
110				regulator-name = "VDD_1V8";
111				regulator-min-microvolt = <1500000>;
112				regulator-max-microvolt = <2000000>;
113				regulator-always-on;
114			};
115
116			vcc_3v1: ldo5 {
117				regulator-name = "VCC_3V1";
118				regulator-min-microvolt = <2600000>;
119				regulator-max-microvolt = <3300000>;
120			};
121
122			avdd: ldo6 {
123				regulator-name = "AVDD";
124				regulator-min-microvolt = <700000>;
125				regulator-max-microvolt = <1400000>;
126				regulator-always-on;
127			};
128
129			sens_1v8: ldo7 {
130				regulator-name = "SENS_1V8";
131				regulator-min-microvolt = <1800000>;
132				regulator-max-microvolt = <1800000>;
133			};
134
135			ldo8: ldo8 {
136				regulator-name = "LDO8";
137				regulator-min-microvolt = <2300000>;
138				regulator-max-microvolt = <3300000>;
139			};
140
141			svcc: ldo11 {
142				regulator-name = "SVCC";
143				regulator-min-microvolt = <2600000>;
144				regulator-max-microvolt = <3300000>;
145				regulator-always-on;
146			};
147
148			rtc_vdd: ldo12 {
149				regulator-name = "RTC_VDD";
150				regulator-min-microvolt = <1800000>;
151				regulator-max-microvolt = <1800000>;
152				regulator-always-on;
153			};
154
155			sd_vcc: switchldo1 {
156				regulator-name = "SD_VCC";
157				regulator-min-microvolt = <3000000>;
158				regulator-max-microvolt = <3300000>;
159				regulator-always-on;
160				regulator-boot-on;
161			};
162		};
163	};
164};
165
166&i2c1 {
167	status = "disabled";
168	pinctrl-names = "default";
169	pinctrl-0 = <&i2c1_pins>;
170};
171
172&i2c2 {
173	status = "disabled";
174	pinctrl-names = "default";
175	pinctrl-0 = <&i2c2_pins>;
176};
177
178&pinctrl {
179	i2c0_pins: i2c0-pins {
180		pinmux {
181			groups = "i2c0_mfp";
182			function = "i2c0";
183		};
184
185		pinconf {
186			pins = "i2c0_sclk", "i2c0_sdata";
187			bias-pull-up;
188		};
189	};
190
191	i2c1_pins: i2c1-pins {
192		pinconf {
193			pins = "i2c1_sclk", "i2c1_sdata";
194			bias-pull-up;
195		};
196	};
197
198	i2c2_pins: i2c2-pins {
199		pinconf {
200			pins = "i2c2_sclk", "i2c2_sdata";
201			bias-pull-up;
202		};
203	};
204
205	mmc0_pins: mmc0-pins {
206		pinmux {
207			groups = "sd0_d0_mfp", "sd0_d1_mfp", "sd0_d2_d3_mfp",
208				 "sd0_cmd_mfp", "sd0_clk_mfp";
209			function = "sd0";
210		};
211
212		drv-pinconf {
213			groups = "sd0_d0_d3_drv", "sd0_cmd_drv", "sd0_clk_drv";
214			drive-strength = <8>;
215		};
216
217		bias0-pinconf {
218			pins = "sd0_d0", "sd0_d1", "sd0_d2",
219			       "sd0_d3", "sd0_cmd";
220			bias-pull-up;
221		};
222
223		bias1-pinconf {
224			pins = "sd0_clk";
225			bias-pull-down;
226		};
227	};
228
229	ethernet_pins: ethernet-pins {
230		eth_rmii-pinmux {
231			groups = "rmii_txd0_mfp", "rmii_txd1_mfp",
232				 "rmii_rxd0_mfp", "rmii_rxd1_mfp",
233				 "rmii_txen_mfp", "rmii_rxen_mfp",
234				 "rmii_crs_dv_mfp", "rmii_ref_clk_mfp";
235			function = "eth_rmii";
236		};
237
238		phy_clk-pinmux {
239			groups = "clko_25m_mfp";
240			function = "clko_25m";
241		};
242
243		ref_clk-pinconf {
244			groups = "rmii_ref_clk_drv";
245			drive-strength = <2>;
246		};
247
248	};
249};
250
251/* uSD */
252&mmc0 {
253	status = "okay";
254	pinctrl-names = "default";
255	pinctrl-0 = <&mmc0_pins>;
256	no-sdio;
257	no-mmc;
258	no-1-8-v;
259	cd-gpios = <&pinctrl 117 GPIO_ACTIVE_LOW>;
260	bus-width = <4>;
261	vmmc-supply = <&sd_vcc>;
262	vqmmc-supply = <&sd_vcc>;
263};
264
265&ethernet {
266	pinctrl-names = "default";
267	pinctrl-0 = <&ethernet_pins>;
268	phy-mode = "rmii";
269	phy-handle = <&eth_phy>;
270	status = "okay";
271
272	mdio {
273		#address-cells = <1>;
274		#size-cells = <0>;
275
276		reset-gpios = <&pinctrl 88 GPIO_ACTIVE_LOW>; /* GPIOC24 */
277		reset-delay-us = <10000>;
278		reset-post-delay-us = <150000>;
279
280		eth_phy: ethernet-phy@3 {
281			reg = <0x3>;
282			max-speed = <100>;
283			interrupt-parent = <&sirq>;
284			interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
285		};
286	};
287};
288
289&twd_timer {
290	status = "okay";
291};
292
293&timer {
294	clocks = <&hosc>;
295};
296
297&uart2 {
298	status = "okay";
299};