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

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

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ 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 "jz4725b.dtsi"
  5 
  6 #include <dt-bindings/gpio/gpio.h>
  7 #include <dt-bindings/iio/adc/ingenic,adc.h>
  8 #include <dt-bindings/input/linux-event-codes.h>
  9 
 10 / {
 11         compatible = "ylm,rs90", "ingenic,jz4725b";
 12         model = "RS-90";
 13 
 14         memory {
 15                 device_type = "memory";
 16                 reg = <0x0 0x2000000>;
 17         };
 18 
 19         reserved-memory {
 20                 #address-cells = <1>;
 21                 #size-cells = <1>;
 22                 ranges;
 23 
 24                 vmem: video-memory@1f00000 {
 25                         compatible = "shared-dma-pool";
 26                         reg = <0x1f00000 0x100000>;
 27                         reusable;
 28                 };
 29         };
 30 
 31         vcc: regulator {
 32                 compatible = "regulator-fixed";
 33 
 34                 regulator-name = "vcc";
 35                 regulaor-min-microvolt = <3300000>;
 36                 regulaor-max-microvolt = <3300000>;
 37                 regulator-always-on;
 38         };
 39 
 40         backlight: backlight {
 41                 compatible = "pwm-backlight";
 42                 pwms = <&pwm 3 40000 0>;
 43 
 44                 brightness-levels = <0 16 32 48 64 80 112 144 192 255>;
 45                 default-brightness-level = <8>;
 46 
 47                 pinctrl-names = "default";
 48                 pinctrl-0 = <&pins_pwm3>;
 49 
 50                 power-supply = <&vcc>;
 51         };
 52 
 53         keys@0 {
 54                 compatible = "gpio-keys";
 55 
 56                 key-0 {
 57                         label = "D-pad up";
 58                         linux,code = <KEY_UP>;
 59                         gpios = <&gpc 10 GPIO_ACTIVE_LOW>;
 60                 };
 61 
 62                 key-1 {
 63                         label = "D-pad down";
 64                         linux,code = <KEY_DOWN>;
 65                         gpios = <&gpc 11 GPIO_ACTIVE_LOW>;
 66                 };
 67 
 68                 key-2 {
 69                         label = "D-pad left";
 70                         linux,code = <KEY_LEFT>;
 71                         gpios = <&gpb 31 GPIO_ACTIVE_LOW>;
 72                 };
 73 
 74                 key-3 {
 75                         label = "D-pad right";
 76                         linux,code = <KEY_RIGHT>;
 77                         gpios = <&gpd 21 GPIO_ACTIVE_LOW>;
 78                 };
 79 
 80                 key-4 {
 81                         label = "Button A";
 82                         linux,code = <KEY_LEFTCTRL>;
 83                         gpios = <&gpc 31 GPIO_ACTIVE_LOW>;
 84                 };
 85 
 86                 key-5 {
 87                         label = "Button B";
 88                         linux,code = <KEY_LEFTALT>;
 89                         gpios = <&gpc 30 GPIO_ACTIVE_LOW>;
 90                 };
 91 
 92                 key-6 {
 93                         label = "Right shoulder button";
 94                         linux,code = <KEY_BACKSPACE>;
 95                         gpios = <&gpc 12 GPIO_ACTIVE_LOW>;
 96                         debounce-interval = <10>;
 97                 };
 98 
 99                 key-7 {
100                         label = "Start button";
101                         linux,code = <KEY_ENTER>;
102                         gpios = <&gpd 17 GPIO_ACTIVE_LOW>;
103                 };
104         };
105 
106         keys@1 {
107                 compatible = "adc-keys";
108                 io-channels = <&adc INGENIC_ADC_AUX>;
109                 io-channel-names = "buttons";
110                 keyup-threshold-microvolt = <1400000>;
111                 poll-interval = <30>;
112 
113                 key@0 {
114                         label = "Left shoulder button";
115                         linux,code = <KEY_TAB>;
116                         press-threshold-microvolt = <800000>;
117                 };
118 
119                 key@1 {
120                         label = "Select button";
121                         linux,code = <KEY_ESC>;
122                         press-threshold-microvolt = <1100000>;
123                 };
124         };
125 
126         amp: analog-amplifier {
127                 compatible = "simple-audio-amplifier";
128                 enable-gpios = <&gpc 15 GPIO_ACTIVE_HIGH>;
129 
130                 VCC-supply = <&vcc>;
131         };
132 
133         sound {
134                 compatible = "simple-audio-card";
135 
136                 simple-audio-card,name = "rs90-audio";
137                 simple-audio-card,format = "i2s";
138 
139                 simple-audio-card,widgets =
140                         "Speaker", "Speaker",
141                         "Headphone", "Headphones";
142                 simple-audio-card,routing =
143                         "INL", "LHPOUT",
144                         "INR", "RHPOUT",
145                         "Headphones", "LHPOUT",
146                         "Headphones", "RHPOUT",
147                         "Speaker", "OUTL",
148                         "Speaker", "OUTR";
149                 simple-audio-card,pin-switches = "Speaker";
150 
151                 simple-audio-card,hp-det-gpio = <&gpd 16 GPIO_ACTIVE_LOW>;
152                 simple-audio-card,aux-devs = <&amp>;
153 
154                 simple-audio-card,bitclock-master = <&dai_codec>;
155                 simple-audio-card,frame-master = <&dai_codec>;
156 
157                 dai_cpu: simple-audio-card,cpu {
158                         sound-dai = <&aic>;
159                 };
160 
161                 dai_codec: simple-audio-card,codec {
162                         sound-dai = <&codec>;
163                 };
164 
165         };
166 
167         usb_phy: usb-phy {
168                 compatible = "usb-nop-xceiv";
169                 #phy-cells = <0>;
170 
171                 clocks = <&cgu JZ4725B_CLK_UDC_PHY>;
172                 clock-names = "main_clk";
173                 vcc-supply = <&vcc>;
174         };
175 
176         panel {
177                 compatible = "sharp,ls020b1dd01d";
178 
179                 backlight = <&backlight>;
180                 power-supply = <&vcc>;
181 
182                 port {
183                         panel_input: endpoint {
184                                 remote-endpoint = <&panel_output>;
185                         };
186                 };
187         };
188 };
189 
190 &ext {
191         clock-frequency = <12000000>;
192 };
193 
194 &rtc_dev {
195         system-power-controller;
196 };
197 
198 &udc {
199         phys = <&usb_phy>;
200 };
201 
202 &pinctrl {
203         pins_mmc1: mmc1 {
204                 function = "mmc1";
205                 groups = "mmc1-1bit";
206         };
207 
208         pins_nemc: nemc {
209                 function = "nand";
210                 groups = "nand-cs1", "nand-cle-ale", "nand-fre-fwe";
211         };
212 
213         pins_pwm3: pwm3 {
214                 function = "pwm3";
215                 groups = "pwm3";
216                 bias-disable;
217         };
218 
219         pins_lcd: lcd {
220                 function = "lcd";
221                 groups = "lcd-8bit", "lcd-16bit", "lcd-special";
222         };
223 };
224 
225 &mmc0 {
226         status = "disabled";
227 };
228 
229 &mmc1 {
230         bus-width = <1>;
231         max-frequency = <48000000>;
232 
233         pinctrl-names = "default";
234         pinctrl-0 = <&pins_mmc1>;
235 
236         cd-gpios = <&gpc 20 GPIO_ACTIVE_LOW>;
237 };
238 
239 &uart {
240         /*
241          * The pins for RX/TX are used for the right shoulder button and
242          * backlight PWM.
243          */
244         status = "disabled";
245 };
246 
247 &nemc {
248         nandc: nand-controller@1 {
249                 compatible = "ingenic,jz4725b-nand";
250                 reg = <1 0 0x4000000>;
251 
252                 #address-cells = <1>;
253                 #size-cells = <0>;
254 
255                 ecc-engine = <&bch>;
256 
257                 ingenic,nemc-tAS = <10>;
258                 ingenic,nemc-tAH = <5>;
259                 ingenic,nemc-tBP = <10>;
260                 ingenic,nemc-tAW = <15>;
261                 ingenic,nemc-tSTRV = <100>;
262 
263                 pinctrl-names = "default";
264                 pinctrl-0 = <&pins_nemc>;
265 
266                 rb-gpios = <&gpc 27 GPIO_ACTIVE_HIGH>;
267 
268                 nand@1 {
269                         reg = <1>;
270 
271                         nand-ecc-step-size = <512>;
272                         nand-ecc-strength = <8>;
273                         nand-ecc-mode = "hw";
274                         nand-is-boot-medium;
275                         nand-on-flash-bbt;
276 
277                         partitions {
278                                 compatible = "fixed-partitions";
279                                 #address-cells = <1>;
280                                 #size-cells = <1>;
281 
282                                 partition@0 {
283                                         label = "bootloader";
284                                         reg = <0x0 0x20000>;
285                                 };
286 
287                                 partition@20000 {
288                                         label = "system";
289                                         reg = <0x20000 0x0>;
290                                 };
291                         };
292                 };
293         };
294 };
295 
296 &cgu {
297         /* Use 32kHz oscillator as the parent of the RTC clock */
298         assigned-clocks = <&cgu JZ4725B_CLK_RTC>;
299         assigned-clock-parents = <&cgu JZ4725B_CLK_OSC32K>;
300 };
301 
302 &tcu {
303         /*
304          * 750 kHz for the system timer and clocksource, and use RTC as the
305          * parent for the watchdog clock.
306          */
307         assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>, <&tcu TCU_CLK_WDT>;
308         assigned-clock-parents = <0>, <0>, <&cgu JZ4725B_CLK_RTC>;
309         assigned-clock-rates = <750000>, <750000>;
310 };
311 
312 &lcd {
313         memory-region = <&vmem>;
314 
315         pinctrl-names = "default";
316         pinctrl-0 = <&pins_lcd>;
317 };
318 
319 &lcd_ports {
320         port@0 {
321                 reg = <0>;
322 
323                 panel_output: endpoint {
324                         remote-endpoint = <&panel_input>;
325                 };
326         };
327 };

~ [ 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