~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/mips/boot/dts/ingenic/qi_lb60.dts

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0
  2 /dts-v1/;
  3 
  4 #include "jz4740.dtsi"
  5 
  6 #include <dt-bindings/gpio/gpio.h>
  7 #include <dt-bindings/iio/adc/ingenic,adc.h>
  8 #include <dt-bindings/clock/ingenic,tcu.h>
  9 #include <dt-bindings/input/input.h>
 10 
 11 #define KEY_QI_QI       KEY_F13
 12 #define KEY_QI_UPRED    KEY_RIGHTALT
 13 #define KEY_QI_VOLUP    KEY_VOLUMEUP
 14 #define KEY_QI_VOLDOWN  KEY_VOLUMEDOWN
 15 #define KEY_QI_FN       KEY_LEFTCTRL
 16 
 17 / {
 18         compatible = "qi,lb60", "ingenic,jz4740";
 19         model = "Ben Nanonote";
 20 
 21         memory {
 22                 device_type = "memory";
 23                 reg = <0x0 0x2000000>;
 24         };
 25 
 26         chosen {
 27                 stdout-path = &uart0;
 28         };
 29 
 30         vcc: regulator-0 {
 31                 compatible = "regulator-fixed";
 32                 regulator-name = "vcc";
 33 
 34                 regulator-min-microvolt = <3300000>;
 35                 regulator-max-microvolt = <3300000>;
 36                 regulator-always-on;
 37         };
 38 
 39         mmc_power: regulator-1 {
 40                 compatible = "regulator-fixed";
 41                 regulator-name = "mmc_vcc";
 42                 gpio = <&gpd 2 0>;
 43 
 44                 regulator-min-microvolt = <3300000>;
 45                 regulator-max-microvolt = <3300000>;
 46         };
 47 
 48         amp_supply: regulator-2 {
 49                 compatible = "regulator-fixed";
 50                 regulator-name = "amp_supply";
 51                 gpio = <&gpd 4 0>;
 52                 enable-active-high;
 53 
 54                 regulator-min-microvolt = <3300000>;
 55                 regulator-max-microvolt = <3300000>;
 56         };
 57 
 58         amp: analog-amplifier {
 59                 compatible = "simple-audio-amplifier";
 60                 enable-gpios = <&gpb 29 GPIO_ACTIVE_HIGH>;
 61                 VCC-supply = <&amp_supply>;
 62         };
 63 
 64         sound {
 65                 compatible = "simple-audio-card";
 66 
 67                 simple-audio-card,name = "QI LB60";
 68                 simple-audio-card,format = "i2s";
 69 
 70                 simple-audio-card,widgets =
 71                         "Speaker", "Speaker",
 72                         "Microphone", "Mic";
 73                 simple-audio-card,routing =
 74                         "MIC", "Mic",
 75                         "Speaker", "OUTL",
 76                         "Speaker", "OUTR",
 77                         "INL", "LOUT",
 78                         "INR", "ROUT";
 79 
 80                 simple-audio-card,aux-devs = <&amp>;
 81 
 82                 simple-audio-card,bitclock-master = <&dai_codec>;
 83                 simple-audio-card,frame-master = <&dai_codec>;
 84 
 85                 dai_cpu: simple-audio-card,cpu {
 86                         sound-dai = <&aic>;
 87                 };
 88 
 89                 dai_codec: simple-audio-card,codec {
 90                         sound-dai = <&codec>;
 91                 };
 92         };
 93 
 94         keys {
 95                 compatible = "gpio-keys";
 96 
 97                 key {
 98                         label = "Power";
 99                         wakeup-source;
100                         linux,code = <KEY_POWER>;
101                         gpios = <&gpd 29 GPIO_ACTIVE_LOW>;
102                 };
103         };
104 
105         keyboard {
106                 compatible = "gpio-matrix-keypad";
107 
108                 col-scan-delay-us = <10>;
109                 debounce-delay-ms = <10>;
110                 wakeup-source;
111 
112                 row-gpios = <&gpd 18 0>, <&gpd 19 0>, <&gpd 20 0>, <&gpd 21 0>,
113                             <&gpd 22 0>, <&gpd 23 0>, <&gpd 24 0>, <&gpd 26 0>;
114                 col-gpios = <&gpc 10 0>, <&gpc 11 0>, <&gpc 12 0>, <&gpc 13 0>,
115                             <&gpc 14 0>, <&gpc 15 0>, <&gpc 16 0>, <&gpc 17 0>;
116                 gpio-activelow;
117 
118                 linux,keymap =
119                         <MATRIX_KEY(0, 0, KEY_F1)>,     /* S2 */
120                         <MATRIX_KEY(0, 1, KEY_F2)>,     /* S3 */
121                         <MATRIX_KEY(0, 2, KEY_F3)>,     /* S4 */
122                         <MATRIX_KEY(0, 3, KEY_F4)>,     /* S5 */
123                         <MATRIX_KEY(0, 4, KEY_F5)>,     /* S6 */
124                         <MATRIX_KEY(0, 5, KEY_F6)>,     /* S7 */
125                         <MATRIX_KEY(0, 6, KEY_F7)>,     /* S8 */
126 
127                         <MATRIX_KEY(1, 0, KEY_Q)>,      /* S10 */
128                         <MATRIX_KEY(1, 1, KEY_W)>,      /* S11 */
129                         <MATRIX_KEY(1, 2, KEY_E)>,      /* S12 */
130                         <MATRIX_KEY(1, 3, KEY_R)>,      /* S13 */
131                         <MATRIX_KEY(1, 4, KEY_T)>,      /* S14 */
132                         <MATRIX_KEY(1, 5, KEY_Y)>,      /* S15 */
133                         <MATRIX_KEY(1, 6, KEY_U)>,      /* S16 */
134                         <MATRIX_KEY(1, 7, KEY_I)>,      /* S17 */
135                         <MATRIX_KEY(2, 0, KEY_A)>,      /* S18 */
136                         <MATRIX_KEY(2, 1, KEY_S)>,      /* S19 */
137                         <MATRIX_KEY(2, 2, KEY_D)>,      /* S20 */
138                         <MATRIX_KEY(2, 3, KEY_F)>,      /* S21 */
139                         <MATRIX_KEY(2, 4, KEY_G)>,      /* S22 */
140                         <MATRIX_KEY(2, 5, KEY_H)>,      /* S23 */
141                         <MATRIX_KEY(2, 6, KEY_J)>,      /* S24 */
142                         <MATRIX_KEY(2, 7, KEY_K)>,      /* S25 */
143                         <MATRIX_KEY(3, 0, KEY_ESC)>,    /* S26 */
144                         <MATRIX_KEY(3, 1, KEY_Z)>,      /* S27 */
145                         <MATRIX_KEY(3, 2, KEY_X)>,      /* S28 */
146                         <MATRIX_KEY(3, 3, KEY_C)>,      /* S29 */
147                         <MATRIX_KEY(3, 4, KEY_V)>,      /* S30 */
148                         <MATRIX_KEY(3, 5, KEY_B)>,      /* S31 */
149                         <MATRIX_KEY(3, 6, KEY_N)>,      /* S32 */
150                         <MATRIX_KEY(3, 7, KEY_M)>,      /* S33 */
151                         <MATRIX_KEY(4, 0, KEY_TAB)>,    /* S34 */
152                         <MATRIX_KEY(4, 1, KEY_CAPSLOCK)>,       /* S35 */
153                         <MATRIX_KEY(4, 2, KEY_BACKSLASH)>,      /* S36 */
154                         <MATRIX_KEY(4, 3, KEY_APOSTROPHE)>,     /* S37 */
155                         <MATRIX_KEY(4, 4, KEY_COMMA)>,  /* S38 */
156                         <MATRIX_KEY(4, 5, KEY_DOT)>,    /* S39 */
157                         <MATRIX_KEY(4, 6, KEY_SLASH)>,  /* S40 */
158                         <MATRIX_KEY(4, 7, KEY_UP)>,     /* S41 */
159                         <MATRIX_KEY(5, 0, KEY_O)>,      /* S42 */
160                         <MATRIX_KEY(5, 1, KEY_L)>,      /* S43 */
161                         <MATRIX_KEY(5, 2, KEY_EQUAL)>,  /* S44 */
162                         <MATRIX_KEY(5, 3, KEY_QI_UPRED)>,       /* S45 */
163                         <MATRIX_KEY(5, 4, KEY_SPACE)>,  /* S46 */
164                         <MATRIX_KEY(5, 5, KEY_QI_QI)>,  /* S47 */
165                         <MATRIX_KEY(5, 6, KEY_RIGHTCTRL)>,      /* S48 */
166                         <MATRIX_KEY(5, 7, KEY_LEFT)>,   /* S49 */
167                         <MATRIX_KEY(6, 0, KEY_F8)>,     /* S50 */
168                         <MATRIX_KEY(6, 1, KEY_P)>,      /* S51 */
169                         <MATRIX_KEY(6, 2, KEY_BACKSPACE)>,/* S52 */
170                         <MATRIX_KEY(6, 3, KEY_ENTER)>,  /* S53 */
171                         <MATRIX_KEY(6, 4, KEY_QI_VOLUP)>,       /* S54 */
172                         <MATRIX_KEY(6, 5, KEY_QI_VOLDOWN)>,     /* S55 */
173                         <MATRIX_KEY(6, 6, KEY_DOWN)>,   /* S56 */
174                         <MATRIX_KEY(6, 7, KEY_RIGHT)>,  /* S57 */
175 
176                         <MATRIX_KEY(7, 0, KEY_LEFTSHIFT)>,      /* S58 */
177                         <MATRIX_KEY(7, 1, KEY_LEFTALT)>, /* S59 */
178                         <MATRIX_KEY(7, 2, KEY_QI_FN)>;  /* S60 */
179         };
180 
181         spi {
182                 compatible = "spi-gpio";
183                 #address-cells = <1>;
184                 #size-cells = <0>;
185 
186                 sck-gpios = <&gpc 23 GPIO_ACTIVE_HIGH>;
187                 mosi-gpios = <&gpc 22 GPIO_ACTIVE_HIGH>;
188                 cs-gpios = <&gpc 21 GPIO_ACTIVE_LOW>;
189                 num-chipselects = <1>;
190         };
191 
192         usb_charger: charger {
193                 compatible = "gpio-charger";
194                 charger-type = "usb-sdp";
195                 gpios = <&gpd 28 GPIO_ACTIVE_LOW>;
196                 status-gpios = <&gpc 27 GPIO_ACTIVE_LOW>;
197         };
198 
199         simple_battery: battery {
200                 compatible = "simple-battery";
201                 voltage-min-design-microvolt = <3600000>;
202                 voltage-max-design-microvolt = <4200000>;
203         };
204 
205         pmu {
206                 compatible = "ingenic,jz4740-battery";
207                 io-channels = <&adc INGENIC_ADC_BATTERY>;
208                 io-channel-names = "battery";
209                 power-supplies = <&usb_charger>;
210                 monitored-battery = <&simple_battery>;
211         };
212 
213         hwmon {
214                 compatible = "iio-hwmon";
215                 io-channels = <&adc INGENIC_ADC_AUX>;
216         };
217 
218         panel: panel {
219                 compatible = "giantplus,gpm940b0";
220 
221                 power-supply = <&vcc>;
222 
223                 port {
224                         panel_input: endpoint {
225                                 remote-endpoint = <&panel_output>;
226                         };
227                 };
228         };
229 
230         usb_phy: usb-phy {
231                 compatible = "usb-nop-xceiv";
232                 #phy-cells = <0>;
233 
234                 vcc-supply = <&vcc>;
235         };
236 };
237 
238 &ext {
239         clock-frequency = <12000000>;
240 };
241 
242 &rtc_dev {
243         system-power-controller;
244 };
245 
246 &uart0 {
247         pinctrl-names = "default";
248         pinctrl-0 = <&pins_uart0>;
249 };
250 
251 &uart1 {
252         status = "disabled";
253 };
254 
255 &nemc {
256         nandc: nand-controller@1 {
257                 compatible = "ingenic,jz4740-nand";
258                 reg = <1 0 0x4000000>;
259 
260                 #address-cells = <1>;
261                 #size-cells = <0>;
262 
263                 ecc-engine = <&ecc>;
264 
265                 pinctrl-names = "default";
266                 pinctrl-0 = <&pins_nemc>;
267 
268                 rb-gpios = <&gpc 30 GPIO_ACTIVE_HIGH>;
269 
270                 nand@1 {
271                         reg = <1>;
272 
273                         nand-ecc-step-size = <512>;
274                         nand-ecc-strength = <4>;
275                         nand-ecc-mode = "hw";
276                         nand-is-boot-medium;
277                         nand-on-flash-bbt;
278 
279                         partitions {
280                                 compatible = "fixed-partitions";
281                                 #address-cells = <1>;
282                                 #size-cells = <1>;
283 
284                                 partition@0 {
285                                         label = "boot";
286                                         reg = <0x0 0x400000>;
287                                 };
288 
289                                 partition@400000 {
290                                         label = "kernel";
291                                         reg = <0x400000 0x400000>;
292                                 };
293 
294                                 partition@800000 {
295                                         label = "rootfs";
296                                         reg = <0x800000 0x0>;
297                                 };
298                         };
299                 };
300         };
301 };
302 
303 &lcd {
304         pinctrl-names = "default";
305         pinctrl-0 = <&pins_lcd>;
306 
307         port {
308                 panel_output: endpoint {
309                         remote-endpoint = <&panel_input>;
310                 };
311         };
312 };
313 
314 &udc {
315         phys = <&usb_phy>;
316 };
317 
318 &pinctrl {
319         pins_lcd: lcd {
320                 function = "lcd";
321                 groups = "lcd-8bit";
322         };
323 
324         pins_nemc: nemc {
325                 function = "nand";
326                 groups = "nand-fre-fwe", "nand-cs1";
327         };
328 
329         pins_uart0: uart0 {
330                 function = "uart0";
331                 groups = "uart0-data";
332                 bias-disable;
333         };
334 
335         pins_mmc: mmc {
336                 mmc {
337                         function = "mmc";
338                         groups = "mmc-1bit", "mmc-4bit";
339                         bias-disable;
340                 };
341 
342                 mmc-gpios {
343                         pins = "PD0", "PD2";
344                         bias-disable;
345                 };
346         };
347 };
348 
349 &mmc {
350         bus-width = <4>;
351         max-frequency = <24000000>;
352         cd-gpios = <&gpd 0 GPIO_ACTIVE_HIGH>;
353         vmmc-supply = <&mmc_power>;
354 
355         pinctrl-names = "default";
356         pinctrl-0 = <&pins_mmc>;
357 };
358 
359 &tcu {
360         /* 750 kHz for the system timer and clocksource */
361         assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>;
362         assigned-clock-rates = <750000>, <750000>;
363 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php