Linux Audio

Check our new training course

Linux BSP development engineering services

Need help to port Linux and bootloaders to your hardware?
Loading...
v5.4
  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	memory@60000000 {
 16		device_type = "memory";
 17		reg = <0x60000000 0x40000000>;
 18	};
 19
 20	vdd_log: vdd-log {
 21		compatible = "pwm-regulator";
 22		pwms = <&pwm3 0 1000>;
 23		regulator-name = "vdd_log";
 24		regulator-min-microvolt = <1200000>;
 25		regulator-max-microvolt = <1200000>;
 26		regulator-always-on;
 27		voltage-table = <1000000 100>,
 28				<1200000 42>;
 29		status = "okay";
 30	};
 31
 32	vcc_sd0: fixed-regulator {
 33		compatible = "regulator-fixed";
 34		regulator-name = "sdmmc-supply";
 35		regulator-min-microvolt = <3000000>;
 36		regulator-max-microvolt = <3000000>;
 37		gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
 38		startup-delay-us = <100000>;
 39		vin-supply = <&vcc_io>;
 40	};
 41
 42	gpio-keys {
 43		compatible = "gpio-keys";
 44		autorepeat;
 45
 46		power {
 47			gpios = <&gpio6 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO6_A2 */
 48			linux,code = <KEY_POWER>;
 49			label = "GPIO Key Power";
 50			linux,input-type = <1>;
 51			wakeup-source;
 52			debounce-interval = <100>;
 53		};
 54		volume-down {
 55			gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_LOW>; /* GPIO4_C5 */
 56			linux,code = <KEY_VOLUMEDOWN>;
 57			label = "GPIO Key Vol-";
 58			linux,input-type = <1>;
 59			debounce-interval = <100>;
 60		};
 61		/* VOL+ comes somehow thru the ADC */
 62	};
 63};
 64
 65&cpu0 {
 66	cpu0-supply = <&vdd_arm>;
 67};
 68
 69&i2c1 {
 70	status = "okay";
 71	clock-frequency = <400000>;
 72
 73	tps: tps@2d {
 74		reg = <0x2d>;
 75
 76		interrupt-parent = <&gpio6>;
 77		interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>;
 78
 79		vcc5-supply = <&vcc_io>;
 80		vcc6-supply = <&vcc_io>;
 81
 82		regulators {
 83			vcc_rtc: regulator@0 {
 84				regulator-name = "vcc_rtc";
 85				regulator-always-on;
 86			};
 87
 88			vcc_io: regulator@1 {
 89				regulator-name = "vcc_io";
 90				regulator-always-on;
 91			};
 92
 93			vdd_arm: regulator@2 {
 94				regulator-name = "vdd_arm";
 95				regulator-min-microvolt = <600000>;
 96				regulator-max-microvolt = <1500000>;
 97				regulator-boot-on;
 98				regulator-always-on;
 99			};
100
101			vcc_ddr: regulator@3 {
102				regulator-name = "vcc_ddr";
103				regulator-min-microvolt = <600000>;
104				regulator-max-microvolt = <1500000>;
105				regulator-boot-on;
106				regulator-always-on;
107			};
108
109			vcc18_cif: regulator@5 {
110				regulator-name = "vcc18_cif";
111				regulator-always-on;
112			};
113
114			vdd_11: regulator@6 {
115				regulator-name = "vdd_11";
116				regulator-always-on;
117			};
118
119			vcc_25: regulator@7 {
120				regulator-name = "vcc_25";
121				regulator-always-on;
122			};
123
124			vcc_18: regulator@8 {
125				regulator-name = "vcc_18";
126				regulator-always-on;
127			};
128
129			vcc25_hdmi: regulator@9 {
130				regulator-name = "vcc25_hdmi";
131				regulator-always-on;
132			};
133
134			vcca_33: regulator@10 {
135				regulator-name = "vcca_33";
136				regulator-always-on;
137			};
138
139			vcc_tp: regulator@11 {
140				regulator-name = "vcc_tp";
141				regulator-always-on;
142			};
143
144			vcc28_cif: regulator@12 {
145				regulator-name = "vcc28_cif";
146				regulator-always-on;
147			};
148		};
149	};
150};
151
152/* must be included after &tps gets defined */
153#include "tps65910.dtsi"
154
155&mmc0 { /* sdmmc */
 
156	status = "okay";
157	pinctrl-names = "default";
158	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
159	vmmc-supply = <&vcc_sd0>;
160	bus-width = <4>;
161	cap-mmc-highspeed;
162	cap-sd-highspeed;
163	disable-wp;
164};
165
166&mmc1 { /* wifi */
 
167	status = "okay";
168	non-removable;
169
170	pinctrl-names = "default";
171	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
172
173	bus-width = <4>;
 
174};
175
176&pwm3 {
177	status = "okay";
178};
179
180&uart0 {
181	status = "okay";
182};
183
184&uart1 {
185	status = "okay";
186};
187
188&uart2 {
189	status = "okay";
190};
191
192&uart3 {
193	status = "okay";
194};
195
196&wdt {
197	status = "okay";
198};
v4.10.11
 
  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 <dt-bindings/input/input.h>
 46#include "rk3066a.dtsi"
 47
 48/ {
 49	model = "bq Curie 2";
 50	compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
 51
 52	memory@60000000 {
 53		device_type = "memory";
 54		reg = <0x60000000 0x40000000>;
 55	};
 56
 57	vdd_log: vdd-log {
 58		compatible = "pwm-regulator";
 59		pwms = <&pwm3 0 1000>;
 60		regulator-name = "vdd_log";
 61		regulator-min-microvolt = <1200000>;
 62		regulator-max-microvolt = <1200000>;
 63		regulator-always-on;
 64		voltage-table = <1000000 100>,
 65				<1200000 42>;
 66		status = "okay";
 67	};
 68
 69	vcc_sd0: fixed-regulator {
 70		compatible = "regulator-fixed";
 71		regulator-name = "sdmmc-supply";
 72		regulator-min-microvolt = <3000000>;
 73		regulator-max-microvolt = <3000000>;
 74		gpio = <&gpio3 7 GPIO_ACTIVE_LOW>;
 75		startup-delay-us = <100000>;
 76		vin-supply = <&vcc_io>;
 77	};
 78
 79	gpio-keys {
 80		compatible = "gpio-keys";
 81		autorepeat;
 82
 83		power {
 84			gpios = <&gpio6 2 GPIO_ACTIVE_LOW>; /* GPIO6_A2 */
 85			linux,code = <KEY_POWER>;
 86			label = "GPIO Key Power";
 87			linux,input-type = <1>;
 88			wakeup-source;
 89			debounce-interval = <100>;
 90		};
 91		volume-down {
 92			gpios = <&gpio4 21 GPIO_ACTIVE_LOW>; /* GPIO4_C5 */
 93			linux,code = <KEY_VOLUMEDOWN>;
 94			label = "GPIO Key Vol-";
 95			linux,input-type = <1>;
 96			debounce-interval = <100>;
 97		};
 98		/* VOL+ comes somehow thru the ADC */
 99	};
100};
101
102&cpu0 {
103	cpu0-supply = <&vdd_arm>;
104};
105
106&i2c1 {
107	status = "okay";
108	clock-frequency = <400000>;
109
110	tps: tps@2d {
111		reg = <0x2d>;
112
113		interrupt-parent = <&gpio6>;
114		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
115
116		vcc5-supply = <&vcc_io>;
117		vcc6-supply = <&vcc_io>;
118
119		regulators {
120			vcc_rtc: regulator@0 {
121				regulator-name = "vcc_rtc";
122				regulator-always-on;
123			};
124
125			vcc_io: regulator@1 {
126				regulator-name = "vcc_io";
127				regulator-always-on;
128			};
129
130			vdd_arm: regulator@2 {
131				regulator-name = "vdd_arm";
132				regulator-min-microvolt = <600000>;
133				regulator-max-microvolt = <1500000>;
134				regulator-boot-on;
135				regulator-always-on;
136			};
137
138			vcc_ddr: regulator@3 {
139				regulator-name = "vcc_ddr";
140				regulator-min-microvolt = <600000>;
141				regulator-max-microvolt = <1500000>;
142				regulator-boot-on;
143				regulator-always-on;
144			};
145
146			vcc18_cif: regulator@5 {
147				regulator-name = "vcc18_cif";
148				regulator-always-on;
149			};
150
151			vdd_11: regulator@6 {
152				regulator-name = "vdd_11";
153				regulator-always-on;
154			};
155
156			vcc_25: regulator@7 {
157				regulator-name = "vcc_25";
158				regulator-always-on;
159			};
160
161			vcc_18: regulator@8 {
162				regulator-name = "vcc_18";
163				regulator-always-on;
164			};
165
166			vcc25_hdmi: regulator@9 {
167				regulator-name = "vcc25_hdmi";
168				regulator-always-on;
169			};
170
171			vcca_33: regulator@10 {
172				regulator-name = "vcca_33";
173				regulator-always-on;
174			};
175
176			vcc_tp: regulator@11 {
177				regulator-name = "vcc_tp";
178				regulator-always-on;
179			};
180
181			vcc28_cif: regulator@12 {
182				regulator-name = "vcc28_cif";
183				regulator-always-on;
184			};
185		};
186	};
187};
188
189/* must be included after &tps gets defined */
190#include "tps65910.dtsi"
191
192&mmc0 { /* sdmmc */
193	num-slots = <1>;
194	status = "okay";
195	pinctrl-names = "default";
196	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
197	vmmc-supply = <&vcc_sd0>;
198	bus-width = <4>;
199	cap-mmc-highspeed;
200	cap-sd-highspeed;
201	disable-wp;
202};
203
204&mmc1 { /* wifi */
205	num-slots = <1>;
206	status = "okay";
207	non-removable;
208
209	pinctrl-names = "default";
210	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
211
212	bus-width = <4>;
213	disable-wp;
214};
215
216&pwm3 {
217	status = "okay";
218};
219
220&uart0 {
221	status = "okay";
222};
223
224&uart1 {
225	status = "okay";
226};
227
228&uart2 {
229	status = "okay";
230};
231
232&uart3 {
233	status = "okay";
234};
235
236&wdt {
237	status = "okay";
238};