Linux Audio

Check our new training course

Loading...
v6.2
  1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2/*
  3 * Copyright (c) 2013 MundoReader S.L.
  4 * Author: Heiko Stuebner <heiko@sntech.de>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  5 */
  6
  7/dts-v1/;
  8#include <dt-bindings/input/input.h>
  9#include "rk3066a.dtsi"
 10
 11/ {
 12	model = "bq Curie 2";
 13	compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
 14
 15	aliases {
 16		mmc0 = &mmc0;
 17		mmc1 = &mmc1;
 18	};
 19
 20	memory@60000000 {
 21		device_type = "memory";
 22		reg = <0x60000000 0x40000000>;
 23	};
 24
 25	vdd_log: vdd-log {
 26		compatible = "pwm-regulator";
 27		pwms = <&pwm3 0 1000>;
 28		regulator-name = "vdd_log";
 29		regulator-min-microvolt = <1200000>;
 30		regulator-max-microvolt = <1200000>;
 31		regulator-always-on;
 32		voltage-table = <1000000 100>,
 33				<1200000 42>;
 34		status = "okay";
 35	};
 36
 37	vcc_sd0: fixed-regulator {
 38		compatible = "regulator-fixed";
 39		regulator-name = "sdmmc-supply";
 40		regulator-min-microvolt = <3000000>;
 41		regulator-max-microvolt = <3000000>;
 42		gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
 43		startup-delay-us = <100000>;
 44		vin-supply = <&vcc_io>;
 45	};
 46
 47	gpio-keys {
 48		compatible = "gpio-keys";
 
 
 49		autorepeat;
 50
 51		key-power {
 52			gpios = <&gpio6 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO6_A2 */
 53			linux,code = <KEY_POWER>;
 54			label = "GPIO Key Power";
 55			linux,input-type = <1>;
 56			wakeup-source;
 57			debounce-interval = <100>;
 58		};
 59		key-volume-down {
 60			gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_LOW>; /* GPIO4_C5 */
 61			linux,code = <KEY_VOLUMEDOWN>;
 62			label = "GPIO Key Vol-";
 63			linux,input-type = <1>;
 64			debounce-interval = <100>;
 65		};
 66		/* VOL+ comes somehow thru the ADC */
 67	};
 68};
 69
 70&cpu0 {
 71	cpu-supply = <&vdd_arm>;
 72};
 73
 74&cpu1 {
 75	cpu-supply = <&vdd_arm>;
 76};
 77
 78&i2c1 {
 79	status = "okay";
 80	clock-frequency = <400000>;
 81
 82	tps: tps@2d {
 83		reg = <0x2d>;
 84
 85		interrupt-parent = <&gpio6>;
 86		interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>;
 87
 88		vcc5-supply = <&vcc_io>;
 89		vcc6-supply = <&vcc_io>;
 90
 91		regulators {
 92			vcc_rtc: regulator@0 {
 93				regulator-name = "vcc_rtc";
 94				regulator-always-on;
 95			};
 96
 97			vcc_io: regulator@1 {
 98				regulator-name = "vcc_io";
 99				regulator-always-on;
100			};
101
102			vdd_arm: regulator@2 {
103				regulator-name = "vdd_arm";
104				regulator-min-microvolt = <600000>;
105				regulator-max-microvolt = <1500000>;
106				regulator-boot-on;
107				regulator-always-on;
108			};
109
110			vcc_ddr: regulator@3 {
111				regulator-name = "vcc_ddr";
112				regulator-min-microvolt = <600000>;
113				regulator-max-microvolt = <1500000>;
114				regulator-boot-on;
115				regulator-always-on;
116			};
117
118			vcc18_cif: regulator@5 {
119				regulator-name = "vcc18_cif";
120				regulator-always-on;
121			};
122
123			vdd_11: regulator@6 {
124				regulator-name = "vdd_11";
125				regulator-always-on;
126			};
127
128			vcc_25: regulator@7 {
129				regulator-name = "vcc_25";
130				regulator-always-on;
131			};
132
133			vcc_18: regulator@8 {
134				regulator-name = "vcc_18";
135				regulator-always-on;
136			};
137
138			vcc25_hdmi: regulator@9 {
139				regulator-name = "vcc25_hdmi";
140				regulator-always-on;
141			};
142
143			vcca_33: regulator@10 {
144				regulator-name = "vcca_33";
145				regulator-always-on;
146			};
147
148			vcc_tp: regulator@11 {
149				regulator-name = "vcc_tp";
150				regulator-always-on;
151			};
152
153			vcc28_cif: regulator@12 {
154				regulator-name = "vcc28_cif";
155				regulator-always-on;
156			};
157		};
158	};
159};
160
161/* must be included after &tps gets defined */
162#include "tps65910.dtsi"
163
164&mmc0 { /* sdmmc */
 
165	status = "okay";
166	pinctrl-names = "default";
167	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
168	vmmc-supply = <&vcc_sd0>;
169	bus-width = <4>;
170	cap-mmc-highspeed;
171	cap-sd-highspeed;
172	disable-wp;
173};
174
175&mmc1 { /* wifi */
 
176	status = "okay";
177	non-removable;
178
179	pinctrl-names = "default";
180	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
181
182	bus-width = <4>;
 
183};
184
185&pwm3 {
186	status = "okay";
187};
188
189&uart0 {
190	status = "okay";
191};
192
193&uart1 {
194	status = "okay";
195};
196
197&uart2 {
198	status = "okay";
199};
200
201&uart3 {
202	status = "okay";
203};
204
205&wdt {
206	status = "okay";
207};
v4.6
 
  1/*
  2 * Copyright (c) 2013 MundoReader S.L.
  3 * Author: Heiko Stuebner <heiko@sntech.de>
  4 *
  5 * This file is dual-licensed: you can use it either under the terms
  6 * of the GPL or the X11 license, at your option. Note that this dual
  7 * licensing only applies to this file, and not this project as a
  8 * whole.
  9 *
 10 *  a) This file is free software; you can redistribute it and/or
 11 *     modify it under the terms of the GNU General Public License as
 12 *     published by the Free Software Foundation; either version 2 of the
 13 *     License, or (at your option) any later version.
 14 *
 15 *     This file is distributed in the hope that it will be useful,
 16 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 17 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 18 *     GNU General Public License for more details.
 19 *
 20 * Or, alternatively,
 21 *
 22 *  b) Permission is hereby granted, free of charge, to any person
 23 *     obtaining a copy of this software and associated documentation
 24 *     files (the "Software"), to deal in the Software without
 25 *     restriction, including without limitation the rights to use,
 26 *     copy, modify, merge, publish, distribute, sublicense, and/or
 27 *     sell copies of the Software, and to permit persons to whom the
 28 *     Software is furnished to do so, subject to the following
 29 *     conditions:
 30 *
 31 *     The above copyright notice and this permission notice shall be
 32 *     included in all copies or substantial portions of the Software.
 33 *
 34 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 35 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 36 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 37 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 38 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 39 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 40 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 41 *     OTHER DEALINGS IN THE SOFTWARE.
 42 */
 43
 44/dts-v1/;
 
 45#include "rk3066a.dtsi"
 46
 47/ {
 48	model = "bq Curie 2";
 49	compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
 50
 51	memory {
 
 
 
 
 
 52		device_type = "memory";
 53		reg = <0x60000000 0x40000000>;
 54	};
 55
 56	vdd_log: vdd-log {
 57		compatible = "pwm-regulator";
 58		pwms = <&pwm3 0 1000>;
 59		regulator-name = "vdd_log";
 60		regulator-min-microvolt = <1200000>;
 61		regulator-max-microvolt = <1200000>;
 62		regulator-always-on;
 63		voltage-table = <1000000 100>,
 64				<1200000 42>;
 65		status = "okay";
 66	};
 67
 68	vcc_sd0: fixed-regulator {
 69		compatible = "regulator-fixed";
 70		regulator-name = "sdmmc-supply";
 71		regulator-min-microvolt = <3000000>;
 72		regulator-max-microvolt = <3000000>;
 73		gpio = <&gpio3 7 GPIO_ACTIVE_LOW>;
 74		startup-delay-us = <100000>;
 75		vin-supply = <&vcc_io>;
 76	};
 77
 78	gpio-keys {
 79		compatible = "gpio-keys";
 80		#address-cells = <1>;
 81		#size-cells = <0>;
 82		autorepeat;
 83
 84		button@0 {
 85			gpios = <&gpio6 2 GPIO_ACTIVE_LOW>; /* GPIO6_A2 */
 86			linux,code = <116>;
 87			label = "GPIO Key Power";
 88			linux,input-type = <1>;
 89			wakeup-source;
 90			debounce-interval = <100>;
 91		};
 92		button@1 {
 93			gpios = <&gpio4 21 GPIO_ACTIVE_LOW>; /* GPIO4_C5 */
 94			linux,code = <104>;
 95			label = "GPIO Key Vol-";
 96			linux,input-type = <1>;
 97			debounce-interval = <100>;
 98		};
 99		/* VOL+ comes somehow thru the ADC */
100	};
101};
102
103&cpu0 {
104	cpu0-supply = <&vdd_arm>;
 
 
 
 
105};
106
107&i2c1 {
108	status = "okay";
109	clock-frequency = <400000>;
110
111	tps: tps@2d {
112		reg = <0x2d>;
113
114		interrupt-parent = <&gpio6>;
115		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
116
117		vcc5-supply = <&vcc_io>;
118		vcc6-supply = <&vcc_io>;
119
120		regulators {
121			vcc_rtc: regulator@0 {
122				regulator-name = "vcc_rtc";
123				regulator-always-on;
124			};
125
126			vcc_io: regulator@1 {
127				regulator-name = "vcc_io";
128				regulator-always-on;
129			};
130
131			vdd_arm: regulator@2 {
132				regulator-name = "vdd_arm";
133				regulator-min-microvolt = <600000>;
134				regulator-max-microvolt = <1500000>;
135				regulator-boot-on;
136				regulator-always-on;
137			};
138
139			vcc_ddr: regulator@3 {
140				regulator-name = "vcc_ddr";
141				regulator-min-microvolt = <600000>;
142				regulator-max-microvolt = <1500000>;
143				regulator-boot-on;
144				regulator-always-on;
145			};
146
147			vcc18_cif: regulator@5 {
148				regulator-name = "vcc18_cif";
149				regulator-always-on;
150			};
151
152			vdd_11: regulator@6 {
153				regulator-name = "vdd_11";
154				regulator-always-on;
155			};
156
157			vcc_25: regulator@7 {
158				regulator-name = "vcc_25";
159				regulator-always-on;
160			};
161
162			vcc_18: regulator@8 {
163				regulator-name = "vcc_18";
164				regulator-always-on;
165			};
166
167			vcc25_hdmi: regulator@9 {
168				regulator-name = "vcc25_hdmi";
169				regulator-always-on;
170			};
171
172			vcca_33: regulator@10 {
173				regulator-name = "vcca_33";
174				regulator-always-on;
175			};
176
177			vcc_tp: regulator@11 {
178				regulator-name = "vcc_tp";
179				regulator-always-on;
180			};
181
182			vcc28_cif: regulator@12 {
183				regulator-name = "vcc28_cif";
184				regulator-always-on;
185			};
186		};
187	};
188};
189
190/* must be included after &tps gets defined */
191#include "tps65910.dtsi"
192
193&mmc0 { /* sdmmc */
194	num-slots = <1>;
195	status = "okay";
196	pinctrl-names = "default";
197	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
198	vmmc-supply = <&vcc_sd0>;
199	bus-width = <4>;
200	cap-mmc-highspeed;
201	cap-sd-highspeed;
202	disable-wp;
203};
204
205&mmc1 { /* wifi */
206	num-slots = <1>;
207	status = "okay";
208	non-removable;
209
210	pinctrl-names = "default";
211	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
212
213	bus-width = <4>;
214	disable-wp;
215};
216
217&pwm3 {
218	status = "okay";
219};
220
221&uart0 {
222	status = "okay";
223};
224
225&uart1 {
226	status = "okay";
227};
228
229&uart2 {
230	status = "okay";
231};
232
233&uart3 {
234	status = "okay";
235};
236
237&wdt {
238	status = "okay";
239};