1*bd8511fbSAlexander Sverdlin// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*bd8511fbSAlexander Sverdlin/* 3*bd8511fbSAlexander Sverdlin * Device Tree file for Cirrus Logic EDB9302 board based on EP9302 SoC 4*bd8511fbSAlexander Sverdlin */ 5*bd8511fbSAlexander Sverdlin/dts-v1/; 6*bd8511fbSAlexander Sverdlin#include "ep93xx.dtsi" 7*bd8511fbSAlexander Sverdlin 8*bd8511fbSAlexander Sverdlin/ { 9*bd8511fbSAlexander Sverdlin #address-cells = <1>; 10*bd8511fbSAlexander Sverdlin #size-cells = <1>; 11*bd8511fbSAlexander Sverdlin compatible = "cirrus,edb9302", "cirrus,ep9301"; 12*bd8511fbSAlexander Sverdlin model = "cirrus,edb9302"; 13*bd8511fbSAlexander Sverdlin 14*bd8511fbSAlexander Sverdlin chosen { 15*bd8511fbSAlexander Sverdlin }; 16*bd8511fbSAlexander Sverdlin 17*bd8511fbSAlexander Sverdlin memory@0 { 18*bd8511fbSAlexander Sverdlin device_type = "memory"; 19*bd8511fbSAlexander Sverdlin /* should be set from ATAGS */ 20*bd8511fbSAlexander Sverdlin reg = <0x0000000 0x800000>, 21*bd8511fbSAlexander Sverdlin <0x1000000 0x800000>, 22*bd8511fbSAlexander Sverdlin <0x4000000 0x800000>, 23*bd8511fbSAlexander Sverdlin <0x5000000 0x800000>; 24*bd8511fbSAlexander Sverdlin }; 25*bd8511fbSAlexander Sverdlin 26*bd8511fbSAlexander Sverdlin sound { 27*bd8511fbSAlexander Sverdlin compatible = "audio-graph-card2"; 28*bd8511fbSAlexander Sverdlin label = "EDB93XX"; 29*bd8511fbSAlexander Sverdlin links = <&i2s_port>; 30*bd8511fbSAlexander Sverdlin }; 31*bd8511fbSAlexander Sverdlin 32*bd8511fbSAlexander Sverdlin leds { 33*bd8511fbSAlexander Sverdlin compatible = "gpio-leds"; 34*bd8511fbSAlexander Sverdlin led-0 { 35*bd8511fbSAlexander Sverdlin label = "grled"; 36*bd8511fbSAlexander Sverdlin gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>; 37*bd8511fbSAlexander Sverdlin linux,default-trigger = "heartbeat"; 38*bd8511fbSAlexander Sverdlin function = LED_FUNCTION_HEARTBEAT; 39*bd8511fbSAlexander Sverdlin }; 40*bd8511fbSAlexander Sverdlin 41*bd8511fbSAlexander Sverdlin led-1 { 42*bd8511fbSAlexander Sverdlin label = "rdled"; 43*bd8511fbSAlexander Sverdlin gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>; 44*bd8511fbSAlexander Sverdlin function = LED_FUNCTION_FAULT; 45*bd8511fbSAlexander Sverdlin }; 46*bd8511fbSAlexander Sverdlin }; 47*bd8511fbSAlexander Sverdlin}; 48*bd8511fbSAlexander Sverdlin 49*bd8511fbSAlexander Sverdlin&adc { 50*bd8511fbSAlexander Sverdlin status = "okay"; 51*bd8511fbSAlexander Sverdlin}; 52*bd8511fbSAlexander Sverdlin 53*bd8511fbSAlexander Sverdlin&ebi { 54*bd8511fbSAlexander Sverdlin flash@60000000 { 55*bd8511fbSAlexander Sverdlin compatible = "cfi-flash"; 56*bd8511fbSAlexander Sverdlin reg = <0x60000000 0x1000000>; 57*bd8511fbSAlexander Sverdlin bank-width = <2>; 58*bd8511fbSAlexander Sverdlin }; 59*bd8511fbSAlexander Sverdlin}; 60*bd8511fbSAlexander Sverdlin 61*bd8511fbSAlexander Sverdlinð0 { 62*bd8511fbSAlexander Sverdlin phy-handle = <&phy0>; 63*bd8511fbSAlexander Sverdlin}; 64*bd8511fbSAlexander Sverdlin 65*bd8511fbSAlexander Sverdlin&gpio0 { 66*bd8511fbSAlexander Sverdlin gpio-ranges = <&syscon 0 153 1>, 67*bd8511fbSAlexander Sverdlin <&syscon 1 152 1>, 68*bd8511fbSAlexander Sverdlin <&syscon 2 151 1>, 69*bd8511fbSAlexander Sverdlin <&syscon 3 148 1>, 70*bd8511fbSAlexander Sverdlin <&syscon 4 147 1>, 71*bd8511fbSAlexander Sverdlin <&syscon 5 146 1>, 72*bd8511fbSAlexander Sverdlin <&syscon 6 145 1>, 73*bd8511fbSAlexander Sverdlin <&syscon 7 144 1>; 74*bd8511fbSAlexander Sverdlin}; 75*bd8511fbSAlexander Sverdlin 76*bd8511fbSAlexander Sverdlin&gpio1 { 77*bd8511fbSAlexander Sverdlin gpio-ranges = <&syscon 0 143 1>, 78*bd8511fbSAlexander Sverdlin <&syscon 1 142 1>, 79*bd8511fbSAlexander Sverdlin <&syscon 2 141 1>, 80*bd8511fbSAlexander Sverdlin <&syscon 3 140 1>, 81*bd8511fbSAlexander Sverdlin <&syscon 4 165 1>, 82*bd8511fbSAlexander Sverdlin <&syscon 5 164 1>, 83*bd8511fbSAlexander Sverdlin <&syscon 6 163 1>, 84*bd8511fbSAlexander Sverdlin <&syscon 7 160 1>; 85*bd8511fbSAlexander Sverdlin}; 86*bd8511fbSAlexander Sverdlin 87*bd8511fbSAlexander Sverdlin&gpio2 { 88*bd8511fbSAlexander Sverdlin gpio-ranges = <&syscon 0 115 1>; 89*bd8511fbSAlexander Sverdlin}; 90*bd8511fbSAlexander Sverdlin 91*bd8511fbSAlexander Sverdlin/* edb9302 doesn't have GPIO Port D present */ 92*bd8511fbSAlexander Sverdlin&gpio3 { 93*bd8511fbSAlexander Sverdlin status = "disabled"; 94*bd8511fbSAlexander Sverdlin}; 95*bd8511fbSAlexander Sverdlin 96*bd8511fbSAlexander Sverdlin&gpio4 { 97*bd8511fbSAlexander Sverdlin gpio-ranges = <&syscon 0 97 2>; 98*bd8511fbSAlexander Sverdlin}; 99*bd8511fbSAlexander Sverdlin 100*bd8511fbSAlexander Sverdlin&gpio5 { 101*bd8511fbSAlexander Sverdlin gpio-ranges = <&syscon 1 170 1>, 102*bd8511fbSAlexander Sverdlin <&syscon 2 169 1>, 103*bd8511fbSAlexander Sverdlin <&syscon 3 168 1>; 104*bd8511fbSAlexander Sverdlin}; 105*bd8511fbSAlexander Sverdlin 106*bd8511fbSAlexander Sverdlin&gpio6 { 107*bd8511fbSAlexander Sverdlin gpio-ranges = <&syscon 0 87 2>; 108*bd8511fbSAlexander Sverdlin}; 109*bd8511fbSAlexander Sverdlin 110*bd8511fbSAlexander Sverdlin&gpio7 { 111*bd8511fbSAlexander Sverdlin gpio-ranges = <&syscon 2 199 4>; 112*bd8511fbSAlexander Sverdlin}; 113*bd8511fbSAlexander Sverdlin 114*bd8511fbSAlexander Sverdlin&i2s { 115*bd8511fbSAlexander Sverdlin pinctrl-names = "default"; 116*bd8511fbSAlexander Sverdlin pinctrl-0 = <&i2s_on_ac97_pins>; 117*bd8511fbSAlexander Sverdlin status = "okay"; 118*bd8511fbSAlexander Sverdlin i2s_port: port { 119*bd8511fbSAlexander Sverdlin i2s_ep: endpoint { 120*bd8511fbSAlexander Sverdlin system-clock-direction-out; 121*bd8511fbSAlexander Sverdlin frame-master; 122*bd8511fbSAlexander Sverdlin bitclock-master; 123*bd8511fbSAlexander Sverdlin mclk-fs = <256>; 124*bd8511fbSAlexander Sverdlin dai-format = "i2s"; 125*bd8511fbSAlexander Sverdlin convert-channels = <2>; 126*bd8511fbSAlexander Sverdlin convert-sample-format = "s32_le"; 127*bd8511fbSAlexander Sverdlin remote-endpoint = <&codec_ep>; 128*bd8511fbSAlexander Sverdlin }; 129*bd8511fbSAlexander Sverdlin }; 130*bd8511fbSAlexander Sverdlin}; 131*bd8511fbSAlexander Sverdlin 132*bd8511fbSAlexander Sverdlin&mdio0 { 133*bd8511fbSAlexander Sverdlin phy0: ethernet-phy@1 { 134*bd8511fbSAlexander Sverdlin reg = <1>; 135*bd8511fbSAlexander Sverdlin device_type = "ethernet-phy"; 136*bd8511fbSAlexander Sverdlin }; 137*bd8511fbSAlexander Sverdlin}; 138*bd8511fbSAlexander Sverdlin 139*bd8511fbSAlexander Sverdlin&spi0 { 140*bd8511fbSAlexander Sverdlin cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW 141*bd8511fbSAlexander Sverdlin &gpio0 7 GPIO_ACTIVE_LOW>; 142*bd8511fbSAlexander Sverdlin dmas = <&dma1 10 2>, <&dma1 10 1>; 143*bd8511fbSAlexander Sverdlin dma-names = "rx", "tx"; 144*bd8511fbSAlexander Sverdlin status = "okay"; 145*bd8511fbSAlexander Sverdlin 146*bd8511fbSAlexander Sverdlin cs4271: codec@0 { 147*bd8511fbSAlexander Sverdlin compatible = "cirrus,cs4271"; 148*bd8511fbSAlexander Sverdlin reg = <0>; 149*bd8511fbSAlexander Sverdlin #sound-dai-cells = <0>; 150*bd8511fbSAlexander Sverdlin spi-max-frequency = <6000000>; 151*bd8511fbSAlexander Sverdlin spi-cpol; 152*bd8511fbSAlexander Sverdlin spi-cpha; 153*bd8511fbSAlexander Sverdlin reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; 154*bd8511fbSAlexander Sverdlin port { 155*bd8511fbSAlexander Sverdlin codec_ep: endpoint { 156*bd8511fbSAlexander Sverdlin remote-endpoint = <&i2s_ep>; 157*bd8511fbSAlexander Sverdlin }; 158*bd8511fbSAlexander Sverdlin }; 159*bd8511fbSAlexander Sverdlin }; 160*bd8511fbSAlexander Sverdlin 161*bd8511fbSAlexander Sverdlin at25f1024: eeprom@1 { 162*bd8511fbSAlexander Sverdlin compatible = "atmel,at25"; 163*bd8511fbSAlexander Sverdlin reg = <1>; 164*bd8511fbSAlexander Sverdlin address-width = <8>; 165*bd8511fbSAlexander Sverdlin size = <0x20000>; 166*bd8511fbSAlexander Sverdlin pagesize = <256>; 167*bd8511fbSAlexander Sverdlin spi-max-frequency = <20000000>; 168*bd8511fbSAlexander Sverdlin }; 169*bd8511fbSAlexander Sverdlin}; 170*bd8511fbSAlexander Sverdlin 171*bd8511fbSAlexander Sverdlin&uart0 { 172*bd8511fbSAlexander Sverdlin status = "okay"; 173*bd8511fbSAlexander Sverdlin}; 174*bd8511fbSAlexander Sverdlin 175*bd8511fbSAlexander Sverdlin&uart1 { 176*bd8511fbSAlexander Sverdlin status = "okay"; 177*bd8511fbSAlexander Sverdlin}; 178*bd8511fbSAlexander Sverdlin 179*bd8511fbSAlexander Sverdlin&usb0 { 180*bd8511fbSAlexander Sverdlin status = "okay"; 181*bd8511fbSAlexander Sverdlin}; 182