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. 9 10 / { 11 compatible = "ylm,rs90", "ingenic,jz47 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-d 26 reg = <0x1f00000 0x100 27 reusable; 28 }; 29 }; 30 31 vcc: regulator { 32 compatible = "regulator-fixed" 33 34 regulator-name = "vcc"; 35 regulaor-min-microvolt = <3300 36 regulaor-max-microvolt = <3300 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 4 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_ 60 }; 61 62 key-1 { 63 label = "D-pad down"; 64 linux,code = <KEY_DOWN 65 gpios = <&gpc 11 GPIO_ 66 }; 67 68 key-2 { 69 label = "D-pad left"; 70 linux,code = <KEY_LEFT 71 gpios = <&gpb 31 GPIO_ 72 }; 73 74 key-3 { 75 label = "D-pad right"; 76 linux,code = <KEY_RIGH 77 gpios = <&gpd 21 GPIO_ 78 }; 79 80 key-4 { 81 label = "Button A"; 82 linux,code = <KEY_LEFT 83 gpios = <&gpc 31 GPIO_ 84 }; 85 86 key-5 { 87 label = "Button B"; 88 linux,code = <KEY_LEFT 89 gpios = <&gpc 30 GPIO_ 90 }; 91 92 key-6 { 93 label = "Right shoulde 94 linux,code = <KEY_BACK 95 gpios = <&gpc 12 GPIO_ 96 debounce-interval = <1 97 }; 98 99 key-7 { 100 label = "Start button" 101 linux,code = <KEY_ENTE 102 gpios = <&gpd 17 GPIO_ 103 }; 104 }; 105 106 keys@1 { 107 compatible = "adc-keys"; 108 io-channels = <&adc INGENIC_AD 109 io-channel-names = "buttons"; 110 keyup-threshold-microvolt = <1 111 poll-interval = <30>; 112 113 key@0 { 114 label = "Left shoulder 115 linux,code = <KEY_TAB> 116 press-threshold-microv 117 }; 118 119 key@1 { 120 label = "Select button 121 linux,code = <KEY_ESC> 122 press-threshold-microv 123 }; 124 }; 125 126 amp: analog-amplifier { 127 compatible = "simple-audio-amp 128 enable-gpios = <&gpc 15 GPIO_A 129 130 VCC-supply = <&vcc>; 131 }; 132 133 sound { 134 compatible = "simple-audio-car 135 136 simple-audio-card,name = "rs90 137 simple-audio-card,format = "i2 138 139 simple-audio-card,widgets = 140 "Speaker", "Speaker", 141 "Headphone", "Headphon 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 150 151 simple-audio-card,hp-det-gpio 152 simple-audio-card,aux-devs = < 153 154 simple-audio-card,bitclock-mas 155 simple-audio-card,frame-master 156 157 dai_cpu: simple-audio-card,cpu 158 sound-dai = <&aic>; 159 }; 160 161 dai_codec: simple-audio-card,c 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 172 clock-names = "main_clk"; 173 vcc-supply = <&vcc>; 174 }; 175 176 panel { 177 compatible = "sharp,ls020b1dd0 178 179 backlight = <&backlight>; 180 power-supply = <&vcc>; 181 182 port { 183 panel_input: endpoint 184 remote-endpoin 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 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-16bi 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 242 * backlight PWM. 243 */ 244 status = "disabled"; 245 }; 246 247 &nemc { 248 nandc: nand-controller@1 { 249 compatible = "ingenic,jz4725b- 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_ACTIV 267 268 nand@1 { 269 reg = <1>; 270 271 nand-ecc-step-size = < 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 = " 279 #address-cells 280 #size-cells = 281 282 partition@0 { 283 label 284 reg = 285 }; 286 287 partition@2000 288 label 289 reg = 290 }; 291 }; 292 }; 293 }; 294 }; 295 296 &cgu { 297 /* Use 32kHz oscillator as the parent 298 assigned-clocks = <&cgu JZ4725B_CLK_RT 299 assigned-clock-parents = <&cgu JZ4725B 300 }; 301 302 &tcu { 303 /* 304 * 750 kHz for the system timer and cl 305 * parent for the watchdog clock. 306 */ 307 assigned-clocks = <&tcu TCU_CLK_TIMER0 308 assigned-clock-parents = <0>, <0>, <&c 309 assigned-clock-rates = <750000>, <7500 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 = <&pa 325 }; 326 }; 327 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.