1*4157c472SMarek Vasut/* 2*4157c472SMarek Vasut * Device Tree Source for the Salvator-X board 3*4157c472SMarek Vasut * 4*4157c472SMarek Vasut * Copyright (C) 2016 Renesas Electronics Corp. 5*4157c472SMarek Vasut * 6*4157c472SMarek Vasut * This file is licensed under the terms of the GNU General Public License 7*4157c472SMarek Vasut * version 2. This program is licensed "as is" without any warranty of any 8*4157c472SMarek Vasut * kind, whether express or implied. 9*4157c472SMarek Vasut */ 10*4157c472SMarek Vasut 11*4157c472SMarek Vasut/dts-v1/; 12*4157c472SMarek Vasut#include "r8a7796.dtsi" 13*4157c472SMarek Vasut#include <dt-bindings/gpio/gpio.h> 14*4157c472SMarek Vasut 15*4157c472SMarek Vasut/ { 16*4157c472SMarek Vasut model = "Renesas Salvator-X board based on r8a7796"; 17*4157c472SMarek Vasut compatible = "renesas,salvator-x", "renesas,r8a7796"; 18*4157c472SMarek Vasut 19*4157c472SMarek Vasut aliases { 20*4157c472SMarek Vasut serial0 = &scif2; 21*4157c472SMarek Vasut serial1 = &scif1; 22*4157c472SMarek Vasut ethernet0 = &avb; 23*4157c472SMarek Vasut }; 24*4157c472SMarek Vasut 25*4157c472SMarek Vasut chosen { 26*4157c472SMarek Vasut bootargs = "ignore_loglevel"; 27*4157c472SMarek Vasut stdout-path = "serial0:115200n8"; 28*4157c472SMarek Vasut }; 29*4157c472SMarek Vasut 30*4157c472SMarek Vasut memory@48000000 { 31*4157c472SMarek Vasut device_type = "memory"; 32*4157c472SMarek Vasut /* first 128MB is reserved for secure area. */ 33*4157c472SMarek Vasut reg = <0x0 0x48000000 0x0 0x78000000>; 34*4157c472SMarek Vasut }; 35*4157c472SMarek Vasut 36*4157c472SMarek Vasut memory@600000000 { 37*4157c472SMarek Vasut device_type = "memory"; 38*4157c472SMarek Vasut reg = <0x6 0x00000000 0x0 0x80000000>; 39*4157c472SMarek Vasut }; 40*4157c472SMarek Vasut 41*4157c472SMarek Vasut reg_1p8v: regulator0 { 42*4157c472SMarek Vasut compatible = "regulator-fixed"; 43*4157c472SMarek Vasut regulator-name = "fixed-1.8V"; 44*4157c472SMarek Vasut regulator-min-microvolt = <1800000>; 45*4157c472SMarek Vasut regulator-max-microvolt = <1800000>; 46*4157c472SMarek Vasut regulator-boot-on; 47*4157c472SMarek Vasut regulator-always-on; 48*4157c472SMarek Vasut }; 49*4157c472SMarek Vasut 50*4157c472SMarek Vasut reg_3p3v: regulator1 { 51*4157c472SMarek Vasut compatible = "regulator-fixed"; 52*4157c472SMarek Vasut regulator-name = "fixed-3.3V"; 53*4157c472SMarek Vasut regulator-min-microvolt = <3300000>; 54*4157c472SMarek Vasut regulator-max-microvolt = <3300000>; 55*4157c472SMarek Vasut regulator-boot-on; 56*4157c472SMarek Vasut regulator-always-on; 57*4157c472SMarek Vasut }; 58*4157c472SMarek Vasut 59*4157c472SMarek Vasut vcc_sdhi0: regulator-vcc-sdhi0 { 60*4157c472SMarek Vasut compatible = "regulator-fixed"; 61*4157c472SMarek Vasut 62*4157c472SMarek Vasut regulator-name = "SDHI0 Vcc"; 63*4157c472SMarek Vasut regulator-min-microvolt = <3300000>; 64*4157c472SMarek Vasut regulator-max-microvolt = <3300000>; 65*4157c472SMarek Vasut 66*4157c472SMarek Vasut gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>; 67*4157c472SMarek Vasut enable-active-high; 68*4157c472SMarek Vasut }; 69*4157c472SMarek Vasut 70*4157c472SMarek Vasut vccq_sdhi0: regulator-vccq-sdhi0 { 71*4157c472SMarek Vasut compatible = "regulator-gpio"; 72*4157c472SMarek Vasut 73*4157c472SMarek Vasut regulator-name = "SDHI0 VccQ"; 74*4157c472SMarek Vasut regulator-min-microvolt = <1800000>; 75*4157c472SMarek Vasut regulator-max-microvolt = <3300000>; 76*4157c472SMarek Vasut 77*4157c472SMarek Vasut gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; 78*4157c472SMarek Vasut gpios-states = <1>; 79*4157c472SMarek Vasut states = <3300000 1 80*4157c472SMarek Vasut 1800000 0>; 81*4157c472SMarek Vasut }; 82*4157c472SMarek Vasut 83*4157c472SMarek Vasut vcc_sdhi3: regulator-vcc-sdhi3 { 84*4157c472SMarek Vasut compatible = "regulator-fixed"; 85*4157c472SMarek Vasut 86*4157c472SMarek Vasut regulator-name = "SDHI3 Vcc"; 87*4157c472SMarek Vasut regulator-min-microvolt = <3300000>; 88*4157c472SMarek Vasut regulator-max-microvolt = <3300000>; 89*4157c472SMarek Vasut 90*4157c472SMarek Vasut gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>; 91*4157c472SMarek Vasut enable-active-high; 92*4157c472SMarek Vasut }; 93*4157c472SMarek Vasut 94*4157c472SMarek Vasut vccq_sdhi3: regulator-vccq-sdhi3 { 95*4157c472SMarek Vasut compatible = "regulator-gpio"; 96*4157c472SMarek Vasut 97*4157c472SMarek Vasut regulator-name = "SDHI3 VccQ"; 98*4157c472SMarek Vasut regulator-min-microvolt = <1800000>; 99*4157c472SMarek Vasut regulator-max-microvolt = <3300000>; 100*4157c472SMarek Vasut 101*4157c472SMarek Vasut gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 102*4157c472SMarek Vasut gpios-states = <1>; 103*4157c472SMarek Vasut states = <3300000 1 104*4157c472SMarek Vasut 1800000 0>; 105*4157c472SMarek Vasut }; 106*4157c472SMarek Vasut}; 107*4157c472SMarek Vasut 108*4157c472SMarek Vasut&pfc { 109*4157c472SMarek Vasut pinctrl-0 = <&scif_clk_pins>; 110*4157c472SMarek Vasut pinctrl-names = "default"; 111*4157c472SMarek Vasut 112*4157c472SMarek Vasut avb_pins: avb { 113*4157c472SMarek Vasut groups = "avb_mdc"; 114*4157c472SMarek Vasut function = "avb"; 115*4157c472SMarek Vasut }; 116*4157c472SMarek Vasut 117*4157c472SMarek Vasut scif1_pins: scif1 { 118*4157c472SMarek Vasut groups = "scif1_data_a", "scif1_ctrl"; 119*4157c472SMarek Vasut function = "scif1"; 120*4157c472SMarek Vasut }; 121*4157c472SMarek Vasut 122*4157c472SMarek Vasut scif2_pins: scif2 { 123*4157c472SMarek Vasut groups = "scif2_data_a"; 124*4157c472SMarek Vasut function = "scif2"; 125*4157c472SMarek Vasut }; 126*4157c472SMarek Vasut scif_clk_pins: scif_clk { 127*4157c472SMarek Vasut groups = "scif_clk_a"; 128*4157c472SMarek Vasut function = "scif_clk"; 129*4157c472SMarek Vasut }; 130*4157c472SMarek Vasut 131*4157c472SMarek Vasut i2c2_pins: i2c2 { 132*4157c472SMarek Vasut groups = "i2c2_a"; 133*4157c472SMarek Vasut function = "i2c2"; 134*4157c472SMarek Vasut }; 135*4157c472SMarek Vasut 136*4157c472SMarek Vasut sdhi0_pins: sd0 { 137*4157c472SMarek Vasut groups = "sdhi0_data4", "sdhi0_ctrl"; 138*4157c472SMarek Vasut function = "sdhi0"; 139*4157c472SMarek Vasut power-source = <3300>; 140*4157c472SMarek Vasut }; 141*4157c472SMarek Vasut 142*4157c472SMarek Vasut sdhi0_pins_uhs: sd0_uhs { 143*4157c472SMarek Vasut groups = "sdhi0_data4", "sdhi0_ctrl"; 144*4157c472SMarek Vasut function = "sdhi0"; 145*4157c472SMarek Vasut power-source = <1800>; 146*4157c472SMarek Vasut }; 147*4157c472SMarek Vasut 148*4157c472SMarek Vasut sdhi2_pins: sd2 { 149*4157c472SMarek Vasut groups = "sdhi2_data8", "sdhi2_ctrl"; 150*4157c472SMarek Vasut function = "sdhi2"; 151*4157c472SMarek Vasut power-source = <3300>; 152*4157c472SMarek Vasut }; 153*4157c472SMarek Vasut 154*4157c472SMarek Vasut sdhi2_pins_uhs: sd2_uhs { 155*4157c472SMarek Vasut groups = "sdhi2_data8", "sdhi2_ctrl"; 156*4157c472SMarek Vasut function = "sdhi2"; 157*4157c472SMarek Vasut power-source = <1800>; 158*4157c472SMarek Vasut }; 159*4157c472SMarek Vasut 160*4157c472SMarek Vasut sdhi3_pins: sd3 { 161*4157c472SMarek Vasut groups = "sdhi3_data4", "sdhi3_ctrl"; 162*4157c472SMarek Vasut function = "sdhi3"; 163*4157c472SMarek Vasut power-source = <3300>; 164*4157c472SMarek Vasut }; 165*4157c472SMarek Vasut 166*4157c472SMarek Vasut sdhi3_pins_uhs: sd3_uhs { 167*4157c472SMarek Vasut groups = "sdhi3_data4", "sdhi3_ctrl"; 168*4157c472SMarek Vasut function = "sdhi3"; 169*4157c472SMarek Vasut power-source = <1800>; 170*4157c472SMarek Vasut }; 171*4157c472SMarek Vasut}; 172*4157c472SMarek Vasut 173*4157c472SMarek Vasut&avb { 174*4157c472SMarek Vasut pinctrl-0 = <&avb_pins>; 175*4157c472SMarek Vasut pinctrl-names = "default"; 176*4157c472SMarek Vasut renesas,no-ether-link; 177*4157c472SMarek Vasut phy-handle = <&phy0>; 178*4157c472SMarek Vasut status = "okay"; 179*4157c472SMarek Vasut 180*4157c472SMarek Vasut phy0: ethernet-phy@0 { 181*4157c472SMarek Vasut rxc-skew-ps = <1500>; 182*4157c472SMarek Vasut reg = <0>; 183*4157c472SMarek Vasut interrupt-parent = <&gpio2>; 184*4157c472SMarek Vasut interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 185*4157c472SMarek Vasut }; 186*4157c472SMarek Vasut}; 187*4157c472SMarek Vasut 188*4157c472SMarek Vasut&extal_clk { 189*4157c472SMarek Vasut clock-frequency = <16666666>; 190*4157c472SMarek Vasut}; 191*4157c472SMarek Vasut 192*4157c472SMarek Vasut&extalr_clk { 193*4157c472SMarek Vasut clock-frequency = <32768>; 194*4157c472SMarek Vasut}; 195*4157c472SMarek Vasut 196*4157c472SMarek Vasut&sdhi0 { 197*4157c472SMarek Vasut pinctrl-0 = <&sdhi0_pins>; 198*4157c472SMarek Vasut pinctrl-1 = <&sdhi0_pins_uhs>; 199*4157c472SMarek Vasut pinctrl-names = "default", "state_uhs"; 200*4157c472SMarek Vasut 201*4157c472SMarek Vasut vmmc-supply = <&vcc_sdhi0>; 202*4157c472SMarek Vasut vqmmc-supply = <&vccq_sdhi0>; 203*4157c472SMarek Vasut cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 204*4157c472SMarek Vasut wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 205*4157c472SMarek Vasut bus-width = <4>; 206*4157c472SMarek Vasut sd-uhs-sdr50; 207*4157c472SMarek Vasut status = "okay"; 208*4157c472SMarek Vasut}; 209*4157c472SMarek Vasut 210*4157c472SMarek Vasut&sdhi2 { 211*4157c472SMarek Vasut /* used for on-board 8bit eMMC */ 212*4157c472SMarek Vasut pinctrl-0 = <&sdhi2_pins>; 213*4157c472SMarek Vasut pinctrl-1 = <&sdhi2_pins_uhs>; 214*4157c472SMarek Vasut pinctrl-names = "default", "state_uhs"; 215*4157c472SMarek Vasut 216*4157c472SMarek Vasut vmmc-supply = <®_3p3v>; 217*4157c472SMarek Vasut vqmmc-supply = <®_1p8v>; 218*4157c472SMarek Vasut bus-width = <8>; 219*4157c472SMarek Vasut non-removable; 220*4157c472SMarek Vasut status = "okay"; 221*4157c472SMarek Vasut}; 222*4157c472SMarek Vasut 223*4157c472SMarek Vasut&sdhi3 { 224*4157c472SMarek Vasut pinctrl-0 = <&sdhi3_pins>; 225*4157c472SMarek Vasut pinctrl-1 = <&sdhi3_pins_uhs>; 226*4157c472SMarek Vasut pinctrl-names = "default", "state_uhs"; 227*4157c472SMarek Vasut 228*4157c472SMarek Vasut vmmc-supply = <&vcc_sdhi3>; 229*4157c472SMarek Vasut vqmmc-supply = <&vccq_sdhi3>; 230*4157c472SMarek Vasut cd-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; 231*4157c472SMarek Vasut wp-gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>; 232*4157c472SMarek Vasut bus-width = <4>; 233*4157c472SMarek Vasut sd-uhs-sdr50; 234*4157c472SMarek Vasut status = "okay"; 235*4157c472SMarek Vasut}; 236*4157c472SMarek Vasut 237*4157c472SMarek Vasut&scif1 { 238*4157c472SMarek Vasut pinctrl-0 = <&scif1_pins>; 239*4157c472SMarek Vasut pinctrl-names = "default"; 240*4157c472SMarek Vasut 241*4157c472SMarek Vasut uart-has-rtscts; 242*4157c472SMarek Vasut status = "okay"; 243*4157c472SMarek Vasut}; 244*4157c472SMarek Vasut 245*4157c472SMarek Vasut&scif2 { 246*4157c472SMarek Vasut pinctrl-0 = <&scif2_pins>; 247*4157c472SMarek Vasut pinctrl-names = "default"; 248*4157c472SMarek Vasut status = "okay"; 249*4157c472SMarek Vasut}; 250*4157c472SMarek Vasut 251*4157c472SMarek Vasut&scif_clk { 252*4157c472SMarek Vasut clock-frequency = <14745600>; 253*4157c472SMarek Vasut}; 254*4157c472SMarek Vasut 255*4157c472SMarek Vasut&i2c2 { 256*4157c472SMarek Vasut pinctrl-0 = <&i2c2_pins>; 257*4157c472SMarek Vasut pinctrl-names = "default"; 258*4157c472SMarek Vasut 259*4157c472SMarek Vasut status = "okay"; 260*4157c472SMarek Vasut}; 261*4157c472SMarek Vasut 262*4157c472SMarek Vasut&wdt0 { 263*4157c472SMarek Vasut timeout-sec = <60>; 264*4157c472SMarek Vasut status = "okay"; 265*4157c472SMarek Vasut}; 266*4157c472SMarek Vasut 267*4157c472SMarek Vasut&i2c_dvfs { 268*4157c472SMarek Vasut status = "okay"; 269*4157c472SMarek Vasut}; 270