1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later 2*724ba675SRob Herring/* 3*724ba675SRob Herring * at91-tse850-3.dts - Device Tree file for the Axentia TSE-850 3.0 board 4*724ba675SRob Herring * 5*724ba675SRob Herring * Copyright (C) 2017 Axentia Technologies AB 6*724ba675SRob Herring * 7*724ba675SRob Herring * Author: Peter Rosin <peda@axentia.se> 8*724ba675SRob Herring */ 9*724ba675SRob Herring/dts-v1/; 10*724ba675SRob Herring#include <dt-bindings/pwm/pwm.h> 11*724ba675SRob Herring#include "at91-linea.dtsi" 12*724ba675SRob Herring 13*724ba675SRob Herring/ { 14*724ba675SRob Herring model = "Axentia TSE-850 3.0"; 15*724ba675SRob Herring compatible = "axentia,tse850v3", "axentia,linea", 16*724ba675SRob Herring "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5"; 17*724ba675SRob Herring 18*724ba675SRob Herring sck: oscillator { 19*724ba675SRob Herring compatible = "fixed-clock"; 20*724ba675SRob Herring 21*724ba675SRob Herring #clock-cells = <0>; 22*724ba675SRob Herring clock-frequency = <16000000>; 23*724ba675SRob Herring clock-output-names = "sck"; 24*724ba675SRob Herring }; 25*724ba675SRob Herring 26*724ba675SRob Herring reg_3v3: regulator { 27*724ba675SRob Herring compatible = "regulator-fixed"; 28*724ba675SRob Herring 29*724ba675SRob Herring regulator-name = "3v3-supply"; 30*724ba675SRob Herring regulator-min-microvolt = <3300000>; 31*724ba675SRob Herring regulator-max-microvolt = <3300000>; 32*724ba675SRob Herring }; 33*724ba675SRob Herring 34*724ba675SRob Herring ana: reg-ana { 35*724ba675SRob Herring compatible = "pwm-regulator"; 36*724ba675SRob Herring 37*724ba675SRob Herring regulator-name = "ANA"; 38*724ba675SRob Herring 39*724ba675SRob Herring pwms = <&pwm0 2 1000 PWM_POLARITY_INVERTED>; 40*724ba675SRob Herring pwm-dutycycle-unit = <1000>; 41*724ba675SRob Herring pwm-dutycycle-range = <100 1000>; 42*724ba675SRob Herring 43*724ba675SRob Herring regulator-min-microvolt = <2000000>; 44*724ba675SRob Herring regulator-max-microvolt = <20000000>; 45*724ba675SRob Herring regulator-ramp-delay = <1000>; 46*724ba675SRob Herring }; 47*724ba675SRob Herring 48*724ba675SRob Herring sound { 49*724ba675SRob Herring compatible = "axentia,tse850-pcm5142"; 50*724ba675SRob Herring 51*724ba675SRob Herring axentia,cpu-dai = <&ssc0>; 52*724ba675SRob Herring axentia,audio-codec = <&pcm5142>; 53*724ba675SRob Herring 54*724ba675SRob Herring axentia,add-gpios = <&pioA 8 GPIO_ACTIVE_LOW>; 55*724ba675SRob Herring axentia,loop1-gpios = <&pioA 10 GPIO_ACTIVE_LOW>; 56*724ba675SRob Herring axentia,loop2-gpios = <&pioA 11 GPIO_ACTIVE_LOW>; 57*724ba675SRob Herring 58*724ba675SRob Herring axentia,ana-supply = <&ana>; 59*724ba675SRob Herring }; 60*724ba675SRob Herring 61*724ba675SRob Herring dac: dpot-dac { 62*724ba675SRob Herring compatible = "dpot-dac"; 63*724ba675SRob Herring vref-supply = <®_3v3>; 64*724ba675SRob Herring io-channels = <&dpot 0>; 65*724ba675SRob Herring io-channel-names = "dpot"; 66*724ba675SRob Herring #io-channel-cells = <1>; 67*724ba675SRob Herring }; 68*724ba675SRob Herring 69*724ba675SRob Herring env_det: envelope-detector { 70*724ba675SRob Herring compatible = "axentia,tse850-envelope-detector"; 71*724ba675SRob Herring io-channels = <&dac 0>; 72*724ba675SRob Herring io-channel-names = "dac"; 73*724ba675SRob Herring #io-channel-cells = <1>; 74*724ba675SRob Herring 75*724ba675SRob Herring interrupt-parent = <&pioA>; 76*724ba675SRob Herring interrupts = <3 IRQ_TYPE_EDGE_RISING>; 77*724ba675SRob Herring interrupt-names = "comp"; 78*724ba675SRob Herring }; 79*724ba675SRob Herring 80*724ba675SRob Herring mux: mux-controller { 81*724ba675SRob Herring compatible = "gpio-mux"; 82*724ba675SRob Herring #mux-control-cells = <0>; 83*724ba675SRob Herring 84*724ba675SRob Herring mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>, 85*724ba675SRob Herring <&pioA 1 GPIO_ACTIVE_HIGH>, 86*724ba675SRob Herring <&pioA 2 GPIO_ACTIVE_HIGH>; 87*724ba675SRob Herring idle-state = <0>; 88*724ba675SRob Herring }; 89*724ba675SRob Herring 90*724ba675SRob Herring envelope-detector-mux { 91*724ba675SRob Herring compatible = "io-channel-mux"; 92*724ba675SRob Herring io-channels = <&env_det 0>; 93*724ba675SRob Herring io-channel-names = "parent"; 94*724ba675SRob Herring 95*724ba675SRob Herring mux-controls = <&mux>; 96*724ba675SRob Herring 97*724ba675SRob Herring channels = "", "", 98*724ba675SRob Herring "sync-1", 99*724ba675SRob Herring "in", 100*724ba675SRob Herring "out", 101*724ba675SRob Herring "sync-2", 102*724ba675SRob Herring "sys-reg", 103*724ba675SRob Herring "ana-reg"; 104*724ba675SRob Herring }; 105*724ba675SRob Herring 106*724ba675SRob Herring leds { 107*724ba675SRob Herring compatible = "gpio-leds"; 108*724ba675SRob Herring 109*724ba675SRob Herring led-ch1-red { 110*724ba675SRob Herring label = "ch-1:red"; 111*724ba675SRob Herring gpios = <&pioA 23 GPIO_ACTIVE_LOW>; 112*724ba675SRob Herring }; 113*724ba675SRob Herring led-ch1-green { 114*724ba675SRob Herring label = "ch-1:green"; 115*724ba675SRob Herring gpios = <&pioA 22 GPIO_ACTIVE_LOW>; 116*724ba675SRob Herring }; 117*724ba675SRob Herring led-ch2-red { 118*724ba675SRob Herring label = "ch-2:red"; 119*724ba675SRob Herring gpios = <&pioA 21 GPIO_ACTIVE_LOW>; 120*724ba675SRob Herring }; 121*724ba675SRob Herring led-ch2-green { 122*724ba675SRob Herring label = "ch-2:green"; 123*724ba675SRob Herring gpios = <&pioA 20 GPIO_ACTIVE_LOW>; 124*724ba675SRob Herring }; 125*724ba675SRob Herring led-data-red { 126*724ba675SRob Herring label = "data:red"; 127*724ba675SRob Herring gpios = <&pioA 19 GPIO_ACTIVE_LOW>; 128*724ba675SRob Herring }; 129*724ba675SRob Herring led-data-green { 130*724ba675SRob Herring label = "data:green"; 131*724ba675SRob Herring gpios = <&pioA 18 GPIO_ACTIVE_LOW>; 132*724ba675SRob Herring }; 133*724ba675SRob Herring led-alarm-red { 134*724ba675SRob Herring label = "alarm:red"; 135*724ba675SRob Herring gpios = <&pioA 17 GPIO_ACTIVE_LOW>; 136*724ba675SRob Herring }; 137*724ba675SRob Herring led-alarm-green { 138*724ba675SRob Herring label = "alarm:green"; 139*724ba675SRob Herring gpios = <&pioA 16 GPIO_ACTIVE_LOW>; 140*724ba675SRob Herring }; 141*724ba675SRob Herring }; 142*724ba675SRob Herring}; 143*724ba675SRob Herring 144*724ba675SRob Herring&nand { 145*724ba675SRob Herring partitions { 146*724ba675SRob Herring compatible = "fixed-partitions"; 147*724ba675SRob Herring #address-cells = <1>; 148*724ba675SRob Herring #size-cells = <1>; 149*724ba675SRob Herring 150*724ba675SRob Herring at91bootstrap@0 { 151*724ba675SRob Herring label = "at91bootstrap"; 152*724ba675SRob Herring reg = <0x0 0x40000>; 153*724ba675SRob Herring }; 154*724ba675SRob Herring 155*724ba675SRob Herring barebox@40000 { 156*724ba675SRob Herring label = "bootloader"; 157*724ba675SRob Herring reg = <0x40000 0x60000>; 158*724ba675SRob Herring }; 159*724ba675SRob Herring 160*724ba675SRob Herring bareboxenv@c0000 { 161*724ba675SRob Herring label = "bareboxenv"; 162*724ba675SRob Herring reg = <0xc0000 0x40000>; 163*724ba675SRob Herring }; 164*724ba675SRob Herring 165*724ba675SRob Herring bareboxenv2@100000 { 166*724ba675SRob Herring label = "bareboxenv2"; 167*724ba675SRob Herring reg = <0x100000 0x40000>; 168*724ba675SRob Herring }; 169*724ba675SRob Herring 170*724ba675SRob Herring oftree@180000 { 171*724ba675SRob Herring label = "oftree"; 172*724ba675SRob Herring reg = <0x180000 0x20000>; 173*724ba675SRob Herring }; 174*724ba675SRob Herring 175*724ba675SRob Herring kernel@200000 { 176*724ba675SRob Herring label = "kernel"; 177*724ba675SRob Herring reg = <0x200000 0x500000>; 178*724ba675SRob Herring }; 179*724ba675SRob Herring 180*724ba675SRob Herring rootfs@800000 { 181*724ba675SRob Herring label = "rootfs"; 182*724ba675SRob Herring reg = <0x800000 0x0f800000>; 183*724ba675SRob Herring }; 184*724ba675SRob Herring 185*724ba675SRob Herring ovlfs@10000000 { 186*724ba675SRob Herring label = "ovlfs"; 187*724ba675SRob Herring reg = <0x10000000 0x10000000>; 188*724ba675SRob Herring }; 189*724ba675SRob Herring }; 190*724ba675SRob Herring}; 191*724ba675SRob Herring 192*724ba675SRob Herring&ssc0 { 193*724ba675SRob Herring #sound-dai-cells = <0>; 194*724ba675SRob Herring 195*724ba675SRob Herring status = "okay"; 196*724ba675SRob Herring}; 197*724ba675SRob Herring 198*724ba675SRob Herring&i2c0 { 199*724ba675SRob Herring status = "okay"; 200*724ba675SRob Herring 201*724ba675SRob Herring jc42@18 { 202*724ba675SRob Herring compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 203*724ba675SRob Herring reg = <0x18>; 204*724ba675SRob Herring smbus-timeout-disable; 205*724ba675SRob Herring }; 206*724ba675SRob Herring 207*724ba675SRob Herring dpot: mcp4651-104@28 { 208*724ba675SRob Herring compatible = "microchip,mcp4651-104"; 209*724ba675SRob Herring reg = <0x28>; 210*724ba675SRob Herring #io-channel-cells = <1>; 211*724ba675SRob Herring }; 212*724ba675SRob Herring 213*724ba675SRob Herring pcm5142: pcm5142@4c { 214*724ba675SRob Herring compatible = "ti,pcm5142"; 215*724ba675SRob Herring 216*724ba675SRob Herring reg = <0x4c>; 217*724ba675SRob Herring #sound-dai-cells = <0>; 218*724ba675SRob Herring 219*724ba675SRob Herring AVDD-supply = <®_3v3>; 220*724ba675SRob Herring DVDD-supply = <®_3v3>; 221*724ba675SRob Herring CPVDD-supply = <®_3v3>; 222*724ba675SRob Herring 223*724ba675SRob Herring clocks = <&sck>; 224*724ba675SRob Herring 225*724ba675SRob Herring pll-in = <3>; 226*724ba675SRob Herring pll-out = <6>; 227*724ba675SRob Herring }; 228*724ba675SRob Herring 229*724ba675SRob Herring eeprom@50 { 230*724ba675SRob Herring compatible = "nxp,se97b", "atmel,24c02"; 231*724ba675SRob Herring reg = <0x50>; 232*724ba675SRob Herring pagesize = <16>; 233*724ba675SRob Herring }; 234*724ba675SRob Herring}; 235*724ba675SRob Herring 236*724ba675SRob Herring&pinctrl { 237*724ba675SRob Herring tse850 { 238*724ba675SRob Herring pinctrl_usba_vbus: usba-vbus { 239*724ba675SRob Herring atmel,pins = <AT91_PIOC 31 AT91_PERIPH_GPIO 240*724ba675SRob Herring AT91_PINCTRL_DEGLITCH>; 241*724ba675SRob Herring }; 242*724ba675SRob Herring }; 243*724ba675SRob Herring}; 244*724ba675SRob Herring 245*724ba675SRob Herring&watchdog { 246*724ba675SRob Herring status = "okay"; 247*724ba675SRob Herring}; 248*724ba675SRob Herring 249*724ba675SRob Herring&usart0 { 250*724ba675SRob Herring status = "okay"; 251*724ba675SRob Herring 252*724ba675SRob Herring atmel,use-dma-rx; 253*724ba675SRob Herring}; 254*724ba675SRob Herring 255*724ba675SRob Herring&pwm0 { 256*724ba675SRob Herring status = "okay"; 257*724ba675SRob Herring 258*724ba675SRob Herring pinctrl-0 = <&pinctrl_pwm0_pwml2_1>; 259*724ba675SRob Herring pinctrl-names = "default"; 260*724ba675SRob Herring}; 261*724ba675SRob Herring 262*724ba675SRob Herring&macb1 { 263*724ba675SRob Herring status = "okay"; 264*724ba675SRob Herring 265*724ba675SRob Herring phy-mode = "rmii"; 266*724ba675SRob Herring 267*724ba675SRob Herring #address-cells = <1>; 268*724ba675SRob Herring #size-cells = <0>; 269*724ba675SRob Herring 270*724ba675SRob Herring phy0: ethernet-phy@3 { 271*724ba675SRob Herring reg = <3>; 272*724ba675SRob Herring 273*724ba675SRob Herring interrupt-parent = <&pioE>; 274*724ba675SRob Herring interrupts = <31 IRQ_TYPE_EDGE_FALLING>; 275*724ba675SRob Herring }; 276*724ba675SRob Herring}; 277*724ba675SRob Herring 278*724ba675SRob Herring&usb0 { 279*724ba675SRob Herring status = "okay"; 280*724ba675SRob Herring 281*724ba675SRob Herring pinctrl-names = "default"; 282*724ba675SRob Herring pinctrl-0 = <&pinctrl_usba_vbus>; 283*724ba675SRob Herring atmel,vbus-gpio = <&pioC 31 GPIO_ACTIVE_HIGH>; 284*724ba675SRob Herring}; 285*724ba675SRob Herring 286*724ba675SRob Herring&usb1 { 287*724ba675SRob Herring status = "okay"; 288*724ba675SRob Herring 289*724ba675SRob Herring num-ports = <1>; 290*724ba675SRob Herring atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>; 291*724ba675SRob Herring atmel,oc-gpio = <&pioC 15 GPIO_ACTIVE_LOW>; 292*724ba675SRob Herring}; 293*724ba675SRob Herring 294*724ba675SRob Herring&usb2 { 295*724ba675SRob Herring status = "okay"; 296*724ba675SRob Herring}; 297*724ba675SRob Herring 298*724ba675SRob Herring&dbgu { 299*724ba675SRob Herring status = "okay"; 300*724ba675SRob Herring 301*724ba675SRob Herring dmas = <0>, <0>; /* Do not use DMA for dbgu */ 302*724ba675SRob Herring}; 303*724ba675SRob Herring 304*724ba675SRob Herring&pioA { 305*724ba675SRob Herring gpio-line-names = 306*724ba675SRob Herring /* 0 */ "SUP-A", "SUP-B", "SUP-C", "SIG<LEV", 307*724ba675SRob Herring /* 4 */ "", "/RFRST", "", "", 308*724ba675SRob Herring /* 8 */ "/ADD", "", "/LOOP1", "/LOOP2", 309*724ba675SRob Herring /* 12 */ "", "", "", "", 310*724ba675SRob Herring /* 16 */ "LED1GREEN", "LED1RED", "LED2GREEN", "LED2RED", 311*724ba675SRob Herring /* 20 */ "LED3GREEN", "LED3RED", "LED4GREEN", "LED4RED", 312*724ba675SRob Herring /* 24 */ "", "", "", "", 313*724ba675SRob Herring /* 28 */ "", "", "SDA", "SCL"; 314*724ba675SRob Herring}; 315*724ba675SRob Herring 316*724ba675SRob Herring&pioB { 317*724ba675SRob Herring gpio-line-names = 318*724ba675SRob Herring /* 0 */ "", "", "", "", 319*724ba675SRob Herring /* 4 */ "", "", "", "", 320*724ba675SRob Herring /* 8 */ "", "", "", "", 321*724ba675SRob Herring /* 12 */ "", "", "", "", 322*724ba675SRob Herring /* 16 */ "", "", "", "", 323*724ba675SRob Herring /* 20 */ "", "", "", "", 324*724ba675SRob Herring /* 24 */ "", "", "SIG<LIN", "SIG>LIN", 325*724ba675SRob Herring /* 28 */ "RXD", "TXD", "BRX", "BTX"; 326*724ba675SRob Herring}; 327*724ba675SRob Herring 328*724ba675SRob Herring&pioC { 329*724ba675SRob Herring gpio-line-names = 330*724ba675SRob Herring /* 0 */ "ETX0", "ETX1", "ERX0", "ERX1", 331*724ba675SRob Herring /* 4 */ "ETXEN", "ECRSDV", "ERXER", "EREFCK", 332*724ba675SRob Herring /* 8 */ "EMDC", "EMDIO", "", "", 333*724ba675SRob Herring /* 12 */ "", "", "", "/ILIM", 334*724ba675SRob Herring /* 16 */ "BCK", "LRCK", "DIN", "", 335*724ba675SRob Herring /* 20 */ "", "", "", "", 336*724ba675SRob Herring /* 24 */ "", "", "", "", 337*724ba675SRob Herring /* 28 */ "", "", "", "VBUS"; 338*724ba675SRob Herring}; 339*724ba675SRob Herring 340*724ba675SRob Herring&pioD { 341*724ba675SRob Herring gpio-line-names = 342*724ba675SRob Herring /* 0 */ "I1", "I2", "O1", "EXTVEN", 343*724ba675SRob Herring /* 4 */ "", "456KHZ", "VCTRL", "SYNCSEL", 344*724ba675SRob Herring /* 8 */ "STEREO", "", "", "", 345*724ba675SRob Herring /* 12 */ "", "", "", "", 346*724ba675SRob Herring /* 16 */ "", ">LIN", "LIN>", "", 347*724ba675SRob Herring /* 20 */ "VREFEN", "", "", "", 348*724ba675SRob Herring /* 24 */ "", "", "VINOK", "", 349*724ba675SRob Herring /* 28 */ "POEOK", "USBON", "POELOAD", ""; 350*724ba675SRob Herring}; 351*724ba675SRob Herring 352*724ba675SRob Herring&pioE { 353*724ba675SRob Herring gpio-line-names = 354*724ba675SRob Herring /* 0 */ "", "", "", "", 355*724ba675SRob Herring /* 4 */ "", "", "", "", 356*724ba675SRob Herring /* 8 */ "", "", "", "", 357*724ba675SRob Herring /* 12 */ "", "", "", "", 358*724ba675SRob Herring /* 16 */ "", "", "", "", 359*724ba675SRob Herring /* 20 */ "", "ALE", "CLE", "", 360*724ba675SRob Herring /* 24 */ "", "", "", "", 361*724ba675SRob Herring /* 28 */ "", "", "", "/ETHINT"; 362*724ba675SRob Herring}; 363