1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Device Tree Source for the armadillo 800 eva board 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2012 Renesas Solutions Corp. 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun/dts-v1/; 9*4882a593Smuzhiyun#include "r8a7740.dtsi" 10*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 11*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 12*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h> 13*4882a593Smuzhiyun#include <dt-bindings/pwm/pwm.h> 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun/ { 16*4882a593Smuzhiyun model = "armadillo 800 eva"; 17*4882a593Smuzhiyun compatible = "renesas,armadillo800eva", "renesas,r8a7740"; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun aliases { 20*4882a593Smuzhiyun serial0 = &scifa1; 21*4882a593Smuzhiyun }; 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun chosen { 24*4882a593Smuzhiyun bootargs = "earlyprintk ignore_loglevel root=/dev/nfs ip=on rw"; 25*4882a593Smuzhiyun stdout-path = "serial0:115200n8"; 26*4882a593Smuzhiyun }; 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun memory@40000000 { 29*4882a593Smuzhiyun device_type = "memory"; 30*4882a593Smuzhiyun reg = <0x40000000 0x20000000>; 31*4882a593Smuzhiyun }; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun reg_3p3v: regulator-3p3v { 34*4882a593Smuzhiyun compatible = "regulator-fixed"; 35*4882a593Smuzhiyun regulator-name = "fixed-3.3V"; 36*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 37*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 38*4882a593Smuzhiyun regulator-always-on; 39*4882a593Smuzhiyun regulator-boot-on; 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun vcc_sdhi0: regulator-vcc-sdhi0 { 43*4882a593Smuzhiyun compatible = "regulator-fixed"; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun regulator-name = "SDHI0 Vcc"; 46*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 47*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun gpio = <&pfc 75 GPIO_ACTIVE_HIGH>; 50*4882a593Smuzhiyun enable-active-high; 51*4882a593Smuzhiyun }; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun vccq_sdhi0: regulator-vccq-sdhi0 { 54*4882a593Smuzhiyun compatible = "regulator-gpio"; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun regulator-name = "SDHI0 VccQ"; 57*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 58*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 59*4882a593Smuzhiyun vin-supply = <&vcc_sdhi0>; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun enable-gpio = <&pfc 74 GPIO_ACTIVE_HIGH>; 62*4882a593Smuzhiyun gpios = <&pfc 17 GPIO_ACTIVE_HIGH>; 63*4882a593Smuzhiyun states = <3300000 0>, <1800000 1>; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun enable-active-high; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun reg_5p0v: regulator-5p0v { 69*4882a593Smuzhiyun compatible = "regulator-fixed"; 70*4882a593Smuzhiyun regulator-name = "fixed-5.0V"; 71*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 72*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 73*4882a593Smuzhiyun regulator-always-on; 74*4882a593Smuzhiyun regulator-boot-on; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun keyboard { 78*4882a593Smuzhiyun compatible = "gpio-keys"; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun power-key { 81*4882a593Smuzhiyun gpios = <&pfc 99 GPIO_ACTIVE_LOW>; 82*4882a593Smuzhiyun linux,code = <KEY_POWER>; 83*4882a593Smuzhiyun label = "SW3"; 84*4882a593Smuzhiyun wakeup-source; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun back-key { 88*4882a593Smuzhiyun gpios = <&pfc 100 GPIO_ACTIVE_LOW>; 89*4882a593Smuzhiyun linux,code = <KEY_BACK>; 90*4882a593Smuzhiyun label = "SW4"; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun menu-key { 94*4882a593Smuzhiyun gpios = <&pfc 97 GPIO_ACTIVE_LOW>; 95*4882a593Smuzhiyun linux,code = <KEY_MENU>; 96*4882a593Smuzhiyun label = "SW5"; 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun home-key { 100*4882a593Smuzhiyun gpios = <&pfc 98 GPIO_ACTIVE_LOW>; 101*4882a593Smuzhiyun linux,code = <KEY_HOME>; 102*4882a593Smuzhiyun label = "SW6"; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun }; 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun leds { 107*4882a593Smuzhiyun compatible = "gpio-leds"; 108*4882a593Smuzhiyun led3 { 109*4882a593Smuzhiyun gpios = <&pfc 102 GPIO_ACTIVE_HIGH>; 110*4882a593Smuzhiyun label = "LED3"; 111*4882a593Smuzhiyun }; 112*4882a593Smuzhiyun led4 { 113*4882a593Smuzhiyun gpios = <&pfc 111 GPIO_ACTIVE_HIGH>; 114*4882a593Smuzhiyun label = "LED4"; 115*4882a593Smuzhiyun }; 116*4882a593Smuzhiyun led5 { 117*4882a593Smuzhiyun gpios = <&pfc 110 GPIO_ACTIVE_HIGH>; 118*4882a593Smuzhiyun label = "LED5"; 119*4882a593Smuzhiyun }; 120*4882a593Smuzhiyun led6 { 121*4882a593Smuzhiyun gpios = <&pfc 177 GPIO_ACTIVE_HIGH>; 122*4882a593Smuzhiyun label = "LED6"; 123*4882a593Smuzhiyun }; 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun i2c2: i2c-2 { 127*4882a593Smuzhiyun #address-cells = <1>; 128*4882a593Smuzhiyun #size-cells = <0>; 129*4882a593Smuzhiyun compatible = "i2c-gpio"; 130*4882a593Smuzhiyun sda-gpios = <&pfc 208 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 131*4882a593Smuzhiyun scl-gpios = <&pfc 91 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 132*4882a593Smuzhiyun i2c-gpio,delay-us = <5>; 133*4882a593Smuzhiyun }; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun backlight { 136*4882a593Smuzhiyun compatible = "pwm-backlight"; 137*4882a593Smuzhiyun pwms = <&tpu 2 33333 PWM_POLARITY_INVERTED>; 138*4882a593Smuzhiyun brightness-levels = <0 1 2 4 8 16 32 64 128 255>; 139*4882a593Smuzhiyun default-brightness-level = <9>; 140*4882a593Smuzhiyun pinctrl-0 = <&backlight_pins>; 141*4882a593Smuzhiyun pinctrl-names = "default"; 142*4882a593Smuzhiyun power-supply = <®_5p0v>; 143*4882a593Smuzhiyun enable-gpios = <&pfc 61 GPIO_ACTIVE_HIGH>; 144*4882a593Smuzhiyun }; 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun sound { 147*4882a593Smuzhiyun compatible = "simple-audio-card"; 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun simple-audio-card,format = "i2s"; 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun simple-audio-card,cpu { 152*4882a593Smuzhiyun sound-dai = <&sh_fsi2 0>; 153*4882a593Smuzhiyun bitclock-inversion; 154*4882a593Smuzhiyun }; 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun simple-audio-card,codec { 157*4882a593Smuzhiyun sound-dai = <&wm8978>; 158*4882a593Smuzhiyun bitclock-master; 159*4882a593Smuzhiyun frame-master; 160*4882a593Smuzhiyun system-clock-frequency = <12288000>; 161*4882a593Smuzhiyun }; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun}; 164*4882a593Smuzhiyun 165*4882a593Smuzhiyunðer { 166*4882a593Smuzhiyun pinctrl-0 = <ðer_pins>; 167*4882a593Smuzhiyun pinctrl-names = "default"; 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun phy-handle = <&phy0>; 170*4882a593Smuzhiyun status = "okay"; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun phy0: ethernet-phy@0 { 173*4882a593Smuzhiyun reg = <0>; 174*4882a593Smuzhiyun }; 175*4882a593Smuzhiyun}; 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun&extal1_clk { 178*4882a593Smuzhiyun clock-frequency = <24000000>; 179*4882a593Smuzhiyun}; 180*4882a593Smuzhiyun&extal2_clk { 181*4882a593Smuzhiyun clock-frequency = <48000000>; 182*4882a593Smuzhiyun}; 183*4882a593Smuzhiyun&fsibck_clk { 184*4882a593Smuzhiyun clock-frequency = <12288000>; 185*4882a593Smuzhiyun}; 186*4882a593Smuzhiyun&cpg_clocks { 187*4882a593Smuzhiyun renesas,mode = <0x05>; /* MD_CK0 | MD_CK2 */ 188*4882a593Smuzhiyun}; 189*4882a593Smuzhiyun 190*4882a593Smuzhiyun&cmt1 { 191*4882a593Smuzhiyun status = "okay"; 192*4882a593Smuzhiyun}; 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun&i2c0 { 195*4882a593Smuzhiyun status = "okay"; 196*4882a593Smuzhiyun touchscreen@55 { 197*4882a593Smuzhiyun compatible = "sitronix,st1232"; 198*4882a593Smuzhiyun reg = <0x55>; 199*4882a593Smuzhiyun interrupt-parent = <&irqpin1>; 200*4882a593Smuzhiyun interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 201*4882a593Smuzhiyun pinctrl-0 = <&st1232_pins>; 202*4882a593Smuzhiyun pinctrl-names = "default"; 203*4882a593Smuzhiyun gpios = <&pfc 166 GPIO_ACTIVE_LOW>; 204*4882a593Smuzhiyun }; 205*4882a593Smuzhiyun 206*4882a593Smuzhiyun wm8978: codec@1a { 207*4882a593Smuzhiyun #sound-dai-cells = <0>; 208*4882a593Smuzhiyun compatible = "wlf,wm8978"; 209*4882a593Smuzhiyun reg = <0x1a>; 210*4882a593Smuzhiyun }; 211*4882a593Smuzhiyun}; 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun&i2c2 { 214*4882a593Smuzhiyun status = "okay"; 215*4882a593Smuzhiyun rtc@30 { 216*4882a593Smuzhiyun compatible = "sii,s35390a"; 217*4882a593Smuzhiyun reg = <0x30>; 218*4882a593Smuzhiyun }; 219*4882a593Smuzhiyun}; 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun&pfc { 222*4882a593Smuzhiyun pinctrl-0 = <&lcd0_pins>; 223*4882a593Smuzhiyun pinctrl-names = "default"; 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun ether_pins: ether { 226*4882a593Smuzhiyun groups = "gether_mii", "gether_int"; 227*4882a593Smuzhiyun function = "gether"; 228*4882a593Smuzhiyun }; 229*4882a593Smuzhiyun 230*4882a593Smuzhiyun scifa1_pins: scifa1 { 231*4882a593Smuzhiyun groups = "scifa1_data"; 232*4882a593Smuzhiyun function = "scifa1"; 233*4882a593Smuzhiyun }; 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun st1232_pins: touchscreen { 236*4882a593Smuzhiyun groups = "intc_irq10"; 237*4882a593Smuzhiyun function = "intc"; 238*4882a593Smuzhiyun }; 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun backlight_pins: backlight { 241*4882a593Smuzhiyun groups = "tpu0_to2_1"; 242*4882a593Smuzhiyun function = "tpu0"; 243*4882a593Smuzhiyun }; 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun mmc0_pins: mmc0 { 246*4882a593Smuzhiyun groups = "mmc0_data8_1", "mmc0_ctrl_1"; 247*4882a593Smuzhiyun function = "mmc0"; 248*4882a593Smuzhiyun }; 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun sdhi0_pins: sd0 { 251*4882a593Smuzhiyun groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp"; 252*4882a593Smuzhiyun function = "sdhi0"; 253*4882a593Smuzhiyun }; 254*4882a593Smuzhiyun 255*4882a593Smuzhiyun fsia_pins: sounda { 256*4882a593Smuzhiyun groups = "fsia_sclk_in", "fsia_mclk_out", 257*4882a593Smuzhiyun "fsia_data_in_1", "fsia_data_out_0"; 258*4882a593Smuzhiyun function = "fsia"; 259*4882a593Smuzhiyun }; 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun lcd0_pins: lcd0 { 262*4882a593Smuzhiyun groups = "lcd0_data24_0", "lcd0_lclk_1", "lcd0_sync"; 263*4882a593Smuzhiyun function = "lcd0"; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun lcd0_mux { 267*4882a593Smuzhiyun /* DBGMD/LCDC0/FSIA MUX */ 268*4882a593Smuzhiyun gpio-hog; 269*4882a593Smuzhiyun gpios = <176 0>; 270*4882a593Smuzhiyun output-high; 271*4882a593Smuzhiyun }; 272*4882a593Smuzhiyun}; 273*4882a593Smuzhiyun 274*4882a593Smuzhiyun&tpu { 275*4882a593Smuzhiyun status = "okay"; 276*4882a593Smuzhiyun}; 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun&mmcif0 { 279*4882a593Smuzhiyun pinctrl-0 = <&mmc0_pins>; 280*4882a593Smuzhiyun pinctrl-names = "default"; 281*4882a593Smuzhiyun 282*4882a593Smuzhiyun vmmc-supply = <®_3p3v>; 283*4882a593Smuzhiyun bus-width = <8>; 284*4882a593Smuzhiyun non-removable; 285*4882a593Smuzhiyun status = "okay"; 286*4882a593Smuzhiyun}; 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun&scifa1 { 289*4882a593Smuzhiyun pinctrl-0 = <&scifa1_pins>; 290*4882a593Smuzhiyun pinctrl-names = "default"; 291*4882a593Smuzhiyun 292*4882a593Smuzhiyun status = "okay"; 293*4882a593Smuzhiyun}; 294*4882a593Smuzhiyun 295*4882a593Smuzhiyun&sdhi0 { 296*4882a593Smuzhiyun pinctrl-0 = <&sdhi0_pins>; 297*4882a593Smuzhiyun pinctrl-names = "default"; 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun vmmc-supply = <&vcc_sdhi0>; 300*4882a593Smuzhiyun vqmmc-supply = <&vccq_sdhi0>; 301*4882a593Smuzhiyun bus-width = <4>; 302*4882a593Smuzhiyun cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>; 303*4882a593Smuzhiyun status = "okay"; 304*4882a593Smuzhiyun}; 305*4882a593Smuzhiyun 306*4882a593Smuzhiyun&sh_fsi2 { 307*4882a593Smuzhiyun pinctrl-0 = <&fsia_pins>; 308*4882a593Smuzhiyun pinctrl-names = "default"; 309*4882a593Smuzhiyun 310*4882a593Smuzhiyun status = "okay"; 311*4882a593Smuzhiyun}; 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun&tmu0 { 314*4882a593Smuzhiyun status = "okay"; 315*4882a593Smuzhiyun}; 316