1*b2d2a78aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*b2d2a78aSEmmanuel Vadot/* 3*b2d2a78aSEmmanuel Vadot * Device Tree file for Cirrus Logic systems EP93XX SoC 4*b2d2a78aSEmmanuel Vadot */ 5*b2d2a78aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 6*b2d2a78aSEmmanuel Vadot#include <dt-bindings/leds/common.h> 7*b2d2a78aSEmmanuel Vadot#include <dt-bindings/input/input.h> 8*b2d2a78aSEmmanuel Vadot#include <dt-bindings/clock/cirrus,ep9301-syscon.h> 9*b2d2a78aSEmmanuel Vadot/ { 10*b2d2a78aSEmmanuel Vadot soc: soc { 11*b2d2a78aSEmmanuel Vadot compatible = "simple-bus"; 12*b2d2a78aSEmmanuel Vadot ranges; 13*b2d2a78aSEmmanuel Vadot #address-cells = <1>; 14*b2d2a78aSEmmanuel Vadot #size-cells = <1>; 15*b2d2a78aSEmmanuel Vadot 16*b2d2a78aSEmmanuel Vadot syscon: syscon@80930000 { 17*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-syscon", "syscon"; 18*b2d2a78aSEmmanuel Vadot reg = <0x80930000 0x1000>; 19*b2d2a78aSEmmanuel Vadot 20*b2d2a78aSEmmanuel Vadot #clock-cells = <1>; 21*b2d2a78aSEmmanuel Vadot clocks = <&xtali>; 22*b2d2a78aSEmmanuel Vadot 23*b2d2a78aSEmmanuel Vadot spi_default_pins: pins-spi { 24*b2d2a78aSEmmanuel Vadot function = "spi"; 25*b2d2a78aSEmmanuel Vadot groups = "ssp"; 26*b2d2a78aSEmmanuel Vadot }; 27*b2d2a78aSEmmanuel Vadot 28*b2d2a78aSEmmanuel Vadot ac97_default_pins: pins-ac97 { 29*b2d2a78aSEmmanuel Vadot function = "ac97"; 30*b2d2a78aSEmmanuel Vadot groups = "ac97"; 31*b2d2a78aSEmmanuel Vadot }; 32*b2d2a78aSEmmanuel Vadot 33*b2d2a78aSEmmanuel Vadot i2s_on_ssp_pins: pins-i2sonssp { 34*b2d2a78aSEmmanuel Vadot function = "i2s"; 35*b2d2a78aSEmmanuel Vadot groups = "i2s_on_ssp"; 36*b2d2a78aSEmmanuel Vadot }; 37*b2d2a78aSEmmanuel Vadot 38*b2d2a78aSEmmanuel Vadot i2s_on_ac97_pins: pins-i2sonac97 { 39*b2d2a78aSEmmanuel Vadot function = "i2s"; 40*b2d2a78aSEmmanuel Vadot groups = "i2s_on_ac97"; 41*b2d2a78aSEmmanuel Vadot }; 42*b2d2a78aSEmmanuel Vadot 43*b2d2a78aSEmmanuel Vadot gpio1_default_pins: pins-gpio1 { 44*b2d2a78aSEmmanuel Vadot function = "gpio"; 45*b2d2a78aSEmmanuel Vadot groups = "gpio1agrp"; 46*b2d2a78aSEmmanuel Vadot }; 47*b2d2a78aSEmmanuel Vadot 48*b2d2a78aSEmmanuel Vadot pwm1_default_pins: pins-pwm1 { 49*b2d2a78aSEmmanuel Vadot function = "pwm"; 50*b2d2a78aSEmmanuel Vadot groups = "pwm1"; 51*b2d2a78aSEmmanuel Vadot }; 52*b2d2a78aSEmmanuel Vadot 53*b2d2a78aSEmmanuel Vadot gpio2_default_pins: pins-gpio2 { 54*b2d2a78aSEmmanuel Vadot function = "gpio"; 55*b2d2a78aSEmmanuel Vadot groups = "gpio2agrp"; 56*b2d2a78aSEmmanuel Vadot }; 57*b2d2a78aSEmmanuel Vadot 58*b2d2a78aSEmmanuel Vadot gpio3_default_pins: pins-gpio3 { 59*b2d2a78aSEmmanuel Vadot function = "gpio"; 60*b2d2a78aSEmmanuel Vadot groups = "gpio3agrp"; 61*b2d2a78aSEmmanuel Vadot }; 62*b2d2a78aSEmmanuel Vadot 63*b2d2a78aSEmmanuel Vadot keypad_default_pins: pins-keypad { 64*b2d2a78aSEmmanuel Vadot function = "keypad"; 65*b2d2a78aSEmmanuel Vadot groups = "keypadgrp"; 66*b2d2a78aSEmmanuel Vadot }; 67*b2d2a78aSEmmanuel Vadot 68*b2d2a78aSEmmanuel Vadot gpio4_default_pins: pins-gpio4 { 69*b2d2a78aSEmmanuel Vadot function = "gpio"; 70*b2d2a78aSEmmanuel Vadot groups = "gpio4agrp"; 71*b2d2a78aSEmmanuel Vadot }; 72*b2d2a78aSEmmanuel Vadot 73*b2d2a78aSEmmanuel Vadot gpio6_default_pins: pins-gpio6 { 74*b2d2a78aSEmmanuel Vadot function = "gpio"; 75*b2d2a78aSEmmanuel Vadot groups = "gpio6agrp"; 76*b2d2a78aSEmmanuel Vadot }; 77*b2d2a78aSEmmanuel Vadot 78*b2d2a78aSEmmanuel Vadot gpio7_default_pins: pins-gpio7 { 79*b2d2a78aSEmmanuel Vadot function = "gpio"; 80*b2d2a78aSEmmanuel Vadot groups = "gpio7agrp"; 81*b2d2a78aSEmmanuel Vadot }; 82*b2d2a78aSEmmanuel Vadot 83*b2d2a78aSEmmanuel Vadot ide_default_pins: pins-ide { 84*b2d2a78aSEmmanuel Vadot function = "pata"; 85*b2d2a78aSEmmanuel Vadot groups = "idegrp"; 86*b2d2a78aSEmmanuel Vadot }; 87*b2d2a78aSEmmanuel Vadot 88*b2d2a78aSEmmanuel Vadot lcd_on_dram0_pins: pins-rasteronsdram0 { 89*b2d2a78aSEmmanuel Vadot function = "lcd"; 90*b2d2a78aSEmmanuel Vadot groups = "rasteronsdram0grp"; 91*b2d2a78aSEmmanuel Vadot }; 92*b2d2a78aSEmmanuel Vadot 93*b2d2a78aSEmmanuel Vadot lcd_on_dram3_pins: pins-rasteronsdram3 { 94*b2d2a78aSEmmanuel Vadot function = "lcd"; 95*b2d2a78aSEmmanuel Vadot groups = "rasteronsdram3grp"; 96*b2d2a78aSEmmanuel Vadot }; 97*b2d2a78aSEmmanuel Vadot }; 98*b2d2a78aSEmmanuel Vadot 99*b2d2a78aSEmmanuel Vadot adc: adc@80900000 { 100*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-adc"; 101*b2d2a78aSEmmanuel Vadot reg = <0x80900000 0x28>; 102*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_ADC>; 103*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic0>; 104*b2d2a78aSEmmanuel Vadot interrupts = <30>; 105*b2d2a78aSEmmanuel Vadot status = "disabled"; 106*b2d2a78aSEmmanuel Vadot }; 107*b2d2a78aSEmmanuel Vadot 108*b2d2a78aSEmmanuel Vadot /* 109*b2d2a78aSEmmanuel Vadot * The EP93XX expansion bus is a set of up to 7 each up to 16MB 110*b2d2a78aSEmmanuel Vadot * windows in the 256MB space from 0x50000000 to 0x5fffffff. 111*b2d2a78aSEmmanuel Vadot * But since we don't require to setup it in any way, we can 112*b2d2a78aSEmmanuel Vadot * represent it as a simple-bus. 113*b2d2a78aSEmmanuel Vadot */ 114*b2d2a78aSEmmanuel Vadot ebi: bus@80080000 { 115*b2d2a78aSEmmanuel Vadot compatible = "simple-bus"; 116*b2d2a78aSEmmanuel Vadot reg = <0x80080000 0x20>; 117*b2d2a78aSEmmanuel Vadot native-endian; 118*b2d2a78aSEmmanuel Vadot #address-cells = <1>; 119*b2d2a78aSEmmanuel Vadot #size-cells = <1>; 120*b2d2a78aSEmmanuel Vadot ranges; 121*b2d2a78aSEmmanuel Vadot }; 122*b2d2a78aSEmmanuel Vadot 123*b2d2a78aSEmmanuel Vadot dma0: dma-controller@80000000 { 124*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-dma-m2p"; 125*b2d2a78aSEmmanuel Vadot reg = <0x80000000 0x0040>, 126*b2d2a78aSEmmanuel Vadot <0x80000040 0x0040>, 127*b2d2a78aSEmmanuel Vadot <0x80000080 0x0040>, 128*b2d2a78aSEmmanuel Vadot <0x800000c0 0x0040>, 129*b2d2a78aSEmmanuel Vadot <0x80000240 0x0040>, 130*b2d2a78aSEmmanuel Vadot <0x80000200 0x0040>, 131*b2d2a78aSEmmanuel Vadot <0x800002c0 0x0040>, 132*b2d2a78aSEmmanuel Vadot <0x80000280 0x0040>, 133*b2d2a78aSEmmanuel Vadot <0x80000340 0x0040>, 134*b2d2a78aSEmmanuel Vadot <0x80000300 0x0040>; 135*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_M2P0>, 136*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P1>, 137*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P2>, 138*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P3>, 139*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P4>, 140*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P5>, 141*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P6>, 142*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P7>, 143*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P8>, 144*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P9>; 145*b2d2a78aSEmmanuel Vadot clock-names = "m2p0", "m2p1", 146*b2d2a78aSEmmanuel Vadot "m2p2", "m2p3", 147*b2d2a78aSEmmanuel Vadot "m2p4", "m2p5", 148*b2d2a78aSEmmanuel Vadot "m2p6", "m2p7", 149*b2d2a78aSEmmanuel Vadot "m2p8", "m2p9"; 150*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic0>; 151*b2d2a78aSEmmanuel Vadot interrupts = <7>, <8>, <9>, <10>, <11>, 152*b2d2a78aSEmmanuel Vadot <12>, <13>, <14>, <15>, <16>; 153*b2d2a78aSEmmanuel Vadot #dma-cells = <2>; 154*b2d2a78aSEmmanuel Vadot }; 155*b2d2a78aSEmmanuel Vadot 156*b2d2a78aSEmmanuel Vadot dma1: dma-controller@80000100 { 157*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-dma-m2m"; 158*b2d2a78aSEmmanuel Vadot reg = <0x80000100 0x0040>, 159*b2d2a78aSEmmanuel Vadot <0x80000140 0x0040>; 160*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_M2M0>, 161*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2M1>; 162*b2d2a78aSEmmanuel Vadot clock-names = "m2m0", "m2m1"; 163*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic0>; 164*b2d2a78aSEmmanuel Vadot interrupts = <17>, <18>; 165*b2d2a78aSEmmanuel Vadot #dma-cells = <2>; 166*b2d2a78aSEmmanuel Vadot }; 167*b2d2a78aSEmmanuel Vadot 168*b2d2a78aSEmmanuel Vadot eth0: ethernet@80010000 { 169*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-eth"; 170*b2d2a78aSEmmanuel Vadot reg = <0x80010000 0x10000>; 171*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 172*b2d2a78aSEmmanuel Vadot interrupts = <7>; 173*b2d2a78aSEmmanuel Vadot mdio0: mdio { 174*b2d2a78aSEmmanuel Vadot #address-cells = <1>; 175*b2d2a78aSEmmanuel Vadot #size-cells = <0>; 176*b2d2a78aSEmmanuel Vadot }; 177*b2d2a78aSEmmanuel Vadot }; 178*b2d2a78aSEmmanuel Vadot 179*b2d2a78aSEmmanuel Vadot gpio0: gpio@80840000 { 180*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-gpio"; 181*b2d2a78aSEmmanuel Vadot reg = <0x80840000 0x04>, 182*b2d2a78aSEmmanuel Vadot <0x80840010 0x04>, 183*b2d2a78aSEmmanuel Vadot <0x80840090 0x1c>; 184*b2d2a78aSEmmanuel Vadot reg-names = "data", "dir", "intr"; 185*b2d2a78aSEmmanuel Vadot gpio-controller; 186*b2d2a78aSEmmanuel Vadot #gpio-cells = <2>; 187*b2d2a78aSEmmanuel Vadot interrupt-controller; 188*b2d2a78aSEmmanuel Vadot #interrupt-cells = <2>; 189*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 190*b2d2a78aSEmmanuel Vadot interrupts = <27>; 191*b2d2a78aSEmmanuel Vadot }; 192*b2d2a78aSEmmanuel Vadot 193*b2d2a78aSEmmanuel Vadot gpio1: gpio@80840004 { 194*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-gpio"; 195*b2d2a78aSEmmanuel Vadot reg = <0x80840004 0x04>, 196*b2d2a78aSEmmanuel Vadot <0x80840014 0x04>, 197*b2d2a78aSEmmanuel Vadot <0x808400ac 0x1c>; 198*b2d2a78aSEmmanuel Vadot reg-names = "data", "dir", "intr"; 199*b2d2a78aSEmmanuel Vadot gpio-controller; 200*b2d2a78aSEmmanuel Vadot #gpio-cells = <2>; 201*b2d2a78aSEmmanuel Vadot interrupt-controller; 202*b2d2a78aSEmmanuel Vadot #interrupt-cells = <2>; 203*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 204*b2d2a78aSEmmanuel Vadot interrupts = <27>; 205*b2d2a78aSEmmanuel Vadot }; 206*b2d2a78aSEmmanuel Vadot 207*b2d2a78aSEmmanuel Vadot gpio2: gpio@80840008 { 208*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-gpio"; 209*b2d2a78aSEmmanuel Vadot reg = <0x80840008 0x04>, 210*b2d2a78aSEmmanuel Vadot <0x80840018 0x04>; 211*b2d2a78aSEmmanuel Vadot reg-names = "data", "dir"; 212*b2d2a78aSEmmanuel Vadot gpio-controller; 213*b2d2a78aSEmmanuel Vadot #gpio-cells = <2>; 214*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 215*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&gpio2_default_pins>; 216*b2d2a78aSEmmanuel Vadot }; 217*b2d2a78aSEmmanuel Vadot 218*b2d2a78aSEmmanuel Vadot gpio3: gpio@8084000c { 219*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-gpio"; 220*b2d2a78aSEmmanuel Vadot reg = <0x8084000c 0x04>, 221*b2d2a78aSEmmanuel Vadot <0x8084001c 0x04>; 222*b2d2a78aSEmmanuel Vadot reg-names = "data", "dir"; 223*b2d2a78aSEmmanuel Vadot gpio-controller; 224*b2d2a78aSEmmanuel Vadot #gpio-cells = <2>; 225*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 226*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&gpio3_default_pins>; 227*b2d2a78aSEmmanuel Vadot }; 228*b2d2a78aSEmmanuel Vadot 229*b2d2a78aSEmmanuel Vadot gpio4: gpio@80840020 { 230*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-gpio"; 231*b2d2a78aSEmmanuel Vadot reg = <0x80840020 0x04>, 232*b2d2a78aSEmmanuel Vadot <0x80840024 0x04>; 233*b2d2a78aSEmmanuel Vadot reg-names = "data", "dir"; 234*b2d2a78aSEmmanuel Vadot gpio-controller; 235*b2d2a78aSEmmanuel Vadot #gpio-cells = <2>; 236*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 237*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&gpio4_default_pins>; 238*b2d2a78aSEmmanuel Vadot }; 239*b2d2a78aSEmmanuel Vadot 240*b2d2a78aSEmmanuel Vadot gpio5: gpio@80840030 { 241*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-gpio"; 242*b2d2a78aSEmmanuel Vadot reg = <0x80840030 0x04>, 243*b2d2a78aSEmmanuel Vadot <0x80840034 0x04>, 244*b2d2a78aSEmmanuel Vadot <0x8084004c 0x1c>; 245*b2d2a78aSEmmanuel Vadot reg-names = "data", "dir", "intr"; 246*b2d2a78aSEmmanuel Vadot gpio-controller; 247*b2d2a78aSEmmanuel Vadot #gpio-cells = <2>; 248*b2d2a78aSEmmanuel Vadot interrupt-controller; 249*b2d2a78aSEmmanuel Vadot #interrupt-cells = <2>; 250*b2d2a78aSEmmanuel Vadot interrupts-extended = <&vic0 19>, <&vic0 20>, 251*b2d2a78aSEmmanuel Vadot <&vic0 21>, <&vic0 22>, 252*b2d2a78aSEmmanuel Vadot <&vic1 15>, <&vic1 16>, 253*b2d2a78aSEmmanuel Vadot <&vic1 17>, <&vic1 18>; 254*b2d2a78aSEmmanuel Vadot }; 255*b2d2a78aSEmmanuel Vadot 256*b2d2a78aSEmmanuel Vadot gpio6: gpio@80840038 { 257*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-gpio"; 258*b2d2a78aSEmmanuel Vadot reg = <0x80840038 0x04>, 259*b2d2a78aSEmmanuel Vadot <0x8084003c 0x04>; 260*b2d2a78aSEmmanuel Vadot reg-names = "data", "dir"; 261*b2d2a78aSEmmanuel Vadot gpio-controller; 262*b2d2a78aSEmmanuel Vadot #gpio-cells = <2>; 263*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 264*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&gpio6_default_pins>; 265*b2d2a78aSEmmanuel Vadot }; 266*b2d2a78aSEmmanuel Vadot 267*b2d2a78aSEmmanuel Vadot gpio7: gpio@80840040 { 268*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-gpio"; 269*b2d2a78aSEmmanuel Vadot reg = <0x80840040 0x04>, 270*b2d2a78aSEmmanuel Vadot <0x80840044 0x04>; 271*b2d2a78aSEmmanuel Vadot reg-names = "data", "dir"; 272*b2d2a78aSEmmanuel Vadot gpio-controller; 273*b2d2a78aSEmmanuel Vadot #gpio-cells = <2>; 274*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 275*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&gpio7_default_pins>; 276*b2d2a78aSEmmanuel Vadot }; 277*b2d2a78aSEmmanuel Vadot 278*b2d2a78aSEmmanuel Vadot i2s: i2s@80820000 { 279*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-i2s"; 280*b2d2a78aSEmmanuel Vadot reg = <0x80820000 0x100>; 281*b2d2a78aSEmmanuel Vadot #sound-dai-cells = <0>; 282*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 283*b2d2a78aSEmmanuel Vadot interrupts = <28>; 284*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_I2S_MCLK>, 285*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_I2S_SCLK>, 286*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_I2S_LRCLK>; 287*b2d2a78aSEmmanuel Vadot clock-names = "mclk", "sclk", "lrclk"; 288*b2d2a78aSEmmanuel Vadot dmas = <&dma0 0 1>, <&dma0 0 2>; 289*b2d2a78aSEmmanuel Vadot dma-names = "tx", "rx"; 290*b2d2a78aSEmmanuel Vadot status = "disabled"; 291*b2d2a78aSEmmanuel Vadot }; 292*b2d2a78aSEmmanuel Vadot 293*b2d2a78aSEmmanuel Vadot ide: ide@800a0000 { 294*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9312-pata"; 295*b2d2a78aSEmmanuel Vadot reg = <0x800a0000 0x38>; 296*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 297*b2d2a78aSEmmanuel Vadot interrupts = <8>; 298*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 299*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&ide_default_pins>; 300*b2d2a78aSEmmanuel Vadot status = "disabled"; 301*b2d2a78aSEmmanuel Vadot }; 302*b2d2a78aSEmmanuel Vadot 303*b2d2a78aSEmmanuel Vadot vic0: interrupt-controller@800b0000 { 304*b2d2a78aSEmmanuel Vadot compatible = "arm,pl192-vic"; 305*b2d2a78aSEmmanuel Vadot reg = <0x800b0000 0x1000>; 306*b2d2a78aSEmmanuel Vadot interrupt-controller; 307*b2d2a78aSEmmanuel Vadot #interrupt-cells = <1>; 308*b2d2a78aSEmmanuel Vadot valid-mask = <0x7ffffffc>; 309*b2d2a78aSEmmanuel Vadot valid-wakeup-mask = <0x0>; 310*b2d2a78aSEmmanuel Vadot }; 311*b2d2a78aSEmmanuel Vadot 312*b2d2a78aSEmmanuel Vadot vic1: interrupt-controller@800c0000 { 313*b2d2a78aSEmmanuel Vadot compatible = "arm,pl192-vic"; 314*b2d2a78aSEmmanuel Vadot reg = <0x800c0000 0x1000>; 315*b2d2a78aSEmmanuel Vadot interrupt-controller; 316*b2d2a78aSEmmanuel Vadot #interrupt-cells = <1>; 317*b2d2a78aSEmmanuel Vadot valid-mask = <0x1fffffff>; 318*b2d2a78aSEmmanuel Vadot valid-wakeup-mask = <0x0>; 319*b2d2a78aSEmmanuel Vadot }; 320*b2d2a78aSEmmanuel Vadot 321*b2d2a78aSEmmanuel Vadot keypad: keypad@800f0000 { 322*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9307-keypad"; 323*b2d2a78aSEmmanuel Vadot reg = <0x800f0000 0x0c>; 324*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic0>; 325*b2d2a78aSEmmanuel Vadot interrupts = <29>; 326*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_KEYPAD>; 327*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 328*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&keypad_default_pins>; 329*b2d2a78aSEmmanuel Vadot linux,keymap = <KEY_UP>, 330*b2d2a78aSEmmanuel Vadot <KEY_DOWN>, 331*b2d2a78aSEmmanuel Vadot <KEY_VOLUMEDOWN>, 332*b2d2a78aSEmmanuel Vadot <KEY_HOME>, 333*b2d2a78aSEmmanuel Vadot <KEY_RIGHT>, 334*b2d2a78aSEmmanuel Vadot <KEY_LEFT>, 335*b2d2a78aSEmmanuel Vadot <KEY_ENTER>, 336*b2d2a78aSEmmanuel Vadot <KEY_VOLUMEUP>, 337*b2d2a78aSEmmanuel Vadot <KEY_F6>, 338*b2d2a78aSEmmanuel Vadot <KEY_F8>, 339*b2d2a78aSEmmanuel Vadot <KEY_F9>, 340*b2d2a78aSEmmanuel Vadot <KEY_F10>, 341*b2d2a78aSEmmanuel Vadot <KEY_F1>, 342*b2d2a78aSEmmanuel Vadot <KEY_F2>, 343*b2d2a78aSEmmanuel Vadot <KEY_F3>, 344*b2d2a78aSEmmanuel Vadot <KEY_POWER>; 345*b2d2a78aSEmmanuel Vadot }; 346*b2d2a78aSEmmanuel Vadot 347*b2d2a78aSEmmanuel Vadot pwm0: pwm@80910000 { 348*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-pwm"; 349*b2d2a78aSEmmanuel Vadot reg = <0x80910000 0x10>; 350*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_PWM>; 351*b2d2a78aSEmmanuel Vadot #pwm-cells = <3>; 352*b2d2a78aSEmmanuel Vadot status = "disabled"; 353*b2d2a78aSEmmanuel Vadot }; 354*b2d2a78aSEmmanuel Vadot 355*b2d2a78aSEmmanuel Vadot pwm1: pwm@80910020 { 356*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-pwm"; 357*b2d2a78aSEmmanuel Vadot reg = <0x80910020 0x10>; 358*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_PWM>; 359*b2d2a78aSEmmanuel Vadot #pwm-cells = <3>; 360*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 361*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&pwm1_default_pins>; 362*b2d2a78aSEmmanuel Vadot status = "disabled"; 363*b2d2a78aSEmmanuel Vadot }; 364*b2d2a78aSEmmanuel Vadot 365*b2d2a78aSEmmanuel Vadot rtc0: rtc@80920000 { 366*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-rtc"; 367*b2d2a78aSEmmanuel Vadot reg = <0x80920000 0x100>; 368*b2d2a78aSEmmanuel Vadot }; 369*b2d2a78aSEmmanuel Vadot 370*b2d2a78aSEmmanuel Vadot spi0: spi@808a0000 { 371*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-spi"; 372*b2d2a78aSEmmanuel Vadot reg = <0x808a0000 0x18>; 373*b2d2a78aSEmmanuel Vadot #address-cells = <1>; 374*b2d2a78aSEmmanuel Vadot #size-cells = <0>; 375*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 376*b2d2a78aSEmmanuel Vadot interrupts = <21>; 377*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_SPI>; 378*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 379*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&spi_default_pins>; 380*b2d2a78aSEmmanuel Vadot status = "disabled"; 381*b2d2a78aSEmmanuel Vadot }; 382*b2d2a78aSEmmanuel Vadot 383*b2d2a78aSEmmanuel Vadot timer: timer@80810000 { 384*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-timer"; 385*b2d2a78aSEmmanuel Vadot reg = <0x80810000 0x100>; 386*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 387*b2d2a78aSEmmanuel Vadot interrupts = <19>; 388*b2d2a78aSEmmanuel Vadot }; 389*b2d2a78aSEmmanuel Vadot 390*b2d2a78aSEmmanuel Vadot uart0: serial@808c0000 { 391*b2d2a78aSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 392*b2d2a78aSEmmanuel Vadot reg = <0x808c0000 0x1000>; 393*b2d2a78aSEmmanuel Vadot arm,primecell-periphid = <0x00041010>; 394*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_UART1>, <&syscon EP93XX_CLK_UART>; 395*b2d2a78aSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 396*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 397*b2d2a78aSEmmanuel Vadot interrupts = <20>; 398*b2d2a78aSEmmanuel Vadot status = "disabled"; 399*b2d2a78aSEmmanuel Vadot }; 400*b2d2a78aSEmmanuel Vadot 401*b2d2a78aSEmmanuel Vadot uart1: uart@808d0000 { 402*b2d2a78aSEmmanuel Vadot compatible = "arm,primecell"; 403*b2d2a78aSEmmanuel Vadot reg = <0x808d0000 0x1000>; 404*b2d2a78aSEmmanuel Vadot arm,primecell-periphid = <0x00041010>; 405*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_UART2>, <&syscon EP93XX_CLK_UART>; 406*b2d2a78aSEmmanuel Vadot clock-names = "apb:uart2", "apb_pclk"; 407*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 408*b2d2a78aSEmmanuel Vadot interrupts = <22>; 409*b2d2a78aSEmmanuel Vadot status = "disabled"; 410*b2d2a78aSEmmanuel Vadot }; 411*b2d2a78aSEmmanuel Vadot 412*b2d2a78aSEmmanuel Vadot uart2: uart@808b0000 { 413*b2d2a78aSEmmanuel Vadot compatible = "arm,primecell"; 414*b2d2a78aSEmmanuel Vadot reg = <0x808b0000 0x1000>; 415*b2d2a78aSEmmanuel Vadot arm,primecell-periphid = <0x00041010>; 416*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_UART3>, <&syscon EP93XX_CLK_UART>; 417*b2d2a78aSEmmanuel Vadot clock-names = "apb:uart3", "apb_pclk"; 418*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 419*b2d2a78aSEmmanuel Vadot interrupts = <23>; 420*b2d2a78aSEmmanuel Vadot status = "disabled"; 421*b2d2a78aSEmmanuel Vadot }; 422*b2d2a78aSEmmanuel Vadot 423*b2d2a78aSEmmanuel Vadot usb0: usb@80020000 { 424*b2d2a78aSEmmanuel Vadot compatible = "generic-ohci"; 425*b2d2a78aSEmmanuel Vadot reg = <0x80020000 0x10000>; 426*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic1>; 427*b2d2a78aSEmmanuel Vadot interrupts = <24>; 428*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_USB>; 429*b2d2a78aSEmmanuel Vadot status = "disabled"; 430*b2d2a78aSEmmanuel Vadot }; 431*b2d2a78aSEmmanuel Vadot 432*b2d2a78aSEmmanuel Vadot watchdog0: watchdog@80940000 { 433*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-wdt"; 434*b2d2a78aSEmmanuel Vadot reg = <0x80940000 0x08>; 435*b2d2a78aSEmmanuel Vadot }; 436*b2d2a78aSEmmanuel Vadot }; 437*b2d2a78aSEmmanuel Vadot 438*b2d2a78aSEmmanuel Vadot xtali: oscillator { 439*b2d2a78aSEmmanuel Vadot compatible = "fixed-clock"; 440*b2d2a78aSEmmanuel Vadot #clock-cells = <0>; 441*b2d2a78aSEmmanuel Vadot clock-frequency = <14745600>; 442*b2d2a78aSEmmanuel Vadot clock-output-names = "xtali"; 443*b2d2a78aSEmmanuel Vadot }; 444*b2d2a78aSEmmanuel Vadot}; 445