| // SPDX-License-Identifier: GPL-2.0-or-later |
| /* |
| * at91-tse850-3.dts - Device Tree file for the Axentia TSE-850 3.0 board |
| * |
| * Copyright (C) 2017 Axentia Technologies AB |
| * |
| * Author: Peter Rosin <peda@axentia.se> |
| */ |
| /dts-v1/; |
| #include <dt-bindings/pwm/pwm.h> |
| #include "at91-linea.dtsi" |
| |
| / { |
| model = "Axentia TSE-850 3.0"; |
| compatible = "axentia,tse850v3", "axentia,linea", |
| "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5"; |
| |
| sck: oscillator { |
| compatible = "fixed-clock"; |
| |
| #clock-cells = <0>; |
| clock-frequency = <16000000>; |
| clock-output-names = "sck"; |
| }; |
| |
| reg_3v3: regulator { |
| compatible = "regulator-fixed"; |
| |
| regulator-name = "3v3-supply"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| ana: reg-ana { |
| compatible = "pwm-regulator"; |
| |
| regulator-name = "ANA"; |
| |
| pwms = <&pwm0 2 1000 PWM_POLARITY_INVERTED>; |
| pwm-dutycycle-unit = <1000>; |
| pwm-dutycycle-range = <100 1000>; |
| |
| regulator-min-microvolt = <2000000>; |
| regulator-max-microvolt = <20000000>; |
| regulator-ramp-delay = <1000>; |
| }; |
| |
| sound { |
| compatible = "axentia,tse850-pcm5142"; |
| |
| axentia,cpu-dai = <&ssc0>; |
| axentia,audio-codec = <&pcm5142>; |
| |
| axentia,add-gpios = <&pioA 8 GPIO_ACTIVE_LOW>; |
| axentia,loop1-gpios = <&pioA 10 GPIO_ACTIVE_LOW>; |
| axentia,loop2-gpios = <&pioA 11 GPIO_ACTIVE_LOW>; |
| |
| axentia,ana-supply = <&ana>; |
| }; |
| |
| dac: dpot-dac { |
| compatible = "dpot-dac"; |
| vref-supply = <®_3v3>; |
| io-channels = <&dpot 0>; |
| io-channel-names = "dpot"; |
| #io-channel-cells = <1>; |
| }; |
| |
| env_det: envelope-detector { |
| compatible = "axentia,tse850-envelope-detector"; |
| io-channels = <&dac 0>; |
| io-channel-names = "dac"; |
| #io-channel-cells = <1>; |
| |
| interrupt-parent = <&pioA>; |
| interrupts = <3 IRQ_TYPE_EDGE_RISING>; |
| interrupt-names = "comp"; |
| }; |
| |
| mux: mux-controller { |
| compatible = "gpio-mux"; |
| #mux-control-cells = <0>; |
| |
| mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>, |
| <&pioA 1 GPIO_ACTIVE_HIGH>, |
| <&pioA 2 GPIO_ACTIVE_HIGH>; |
| idle-state = <0>; |
| }; |
| |
| envelope-detector-mux { |
| compatible = "io-channel-mux"; |
| io-channels = <&env_det 0>; |
| io-channel-names = "parent"; |
| |
| mux-controls = <&mux>; |
| |
| channels = "", "", |
| "sync-1", |
| "in", |
| "out", |
| "sync-2", |
| "sys-reg", |
| "ana-reg"; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| |
| led-ch1-red { |
| label = "ch-1:red"; |
| gpios = <&pioA 23 GPIO_ACTIVE_LOW>; |
| }; |
| led-ch1-green { |
| label = "ch-1:green"; |
| gpios = <&pioA 22 GPIO_ACTIVE_LOW>; |
| }; |
| led-ch2-red { |
| label = "ch-2:red"; |
| gpios = <&pioA 21 GPIO_ACTIVE_LOW>; |
| }; |
| led-ch2-green { |
| label = "ch-2:green"; |
| gpios = <&pioA 20 GPIO_ACTIVE_LOW>; |
| }; |
| led-data-red { |
| label = "data:red"; |
| gpios = <&pioA 19 GPIO_ACTIVE_LOW>; |
| }; |
| led-data-green { |
| label = "data:green"; |
| gpios = <&pioA 18 GPIO_ACTIVE_LOW>; |
| }; |
| led-alarm-red { |
| label = "alarm:red"; |
| gpios = <&pioA 17 GPIO_ACTIVE_LOW>; |
| }; |
| led-alarm-green { |
| label = "alarm:green"; |
| gpios = <&pioA 16 GPIO_ACTIVE_LOW>; |
| }; |
| }; |
| }; |
| |
| &nand { |
| partitions { |
| compatible = "fixed-partitions"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| at91bootstrap@0 { |
| label = "at91bootstrap"; |
| reg = <0x0 0x40000>; |
| }; |
| |
| barebox@40000 { |
| label = "bootloader"; |
| reg = <0x40000 0x60000>; |
| }; |
| |
| bareboxenv@c0000 { |
| label = "bareboxenv"; |
| reg = <0xc0000 0x40000>; |
| }; |
| |
| bareboxenv2@100000 { |
| label = "bareboxenv2"; |
| reg = <0x100000 0x40000>; |
| }; |
| |
| oftree@180000 { |
| label = "oftree"; |
| reg = <0x180000 0x20000>; |
| }; |
| |
| kernel@200000 { |
| label = "kernel"; |
| reg = <0x200000 0x500000>; |
| }; |
| |
| rootfs@800000 { |
| label = "rootfs"; |
| reg = <0x800000 0x0f800000>; |
| }; |
| |
| ovlfs@10000000 { |
| label = "ovlfs"; |
| reg = <0x10000000 0x10000000>; |
| }; |
| }; |
| }; |
| |
| &ssc0 { |
| #sound-dai-cells = <0>; |
| |
| status = "okay"; |
| }; |
| |
| &i2c0 { |
| status = "okay"; |
| |
| jc42@18 { |
| compatible = "nxp,se97b", "jedec,jc-42.4-temp"; |
| reg = <0x18>; |
| smbus-timeout-disable; |
| }; |
| |
| dpot: mcp4651-104@28 { |
| compatible = "microchip,mcp4651-104"; |
| reg = <0x28>; |
| #io-channel-cells = <1>; |
| }; |
| |
| pcm5142: pcm5142@4c { |
| compatible = "ti,pcm5142"; |
| |
| reg = <0x4c>; |
| #sound-dai-cells = <0>; |
| |
| AVDD-supply = <®_3v3>; |
| DVDD-supply = <®_3v3>; |
| CPVDD-supply = <®_3v3>; |
| |
| clocks = <&sck>; |
| |
| pll-in = <3>; |
| pll-out = <6>; |
| }; |
| |
| eeprom@50 { |
| compatible = "nxp,se97b", "atmel,24c02"; |
| reg = <0x50>; |
| pagesize = <16>; |
| }; |
| }; |
| |
| &pinctrl { |
| tse850 { |
| pinctrl_usba_vbus: usba-vbus { |
| atmel,pins = <AT91_PIOC 31 AT91_PERIPH_GPIO |
| AT91_PINCTRL_DEGLITCH>; |
| }; |
| }; |
| }; |
| |
| &watchdog { |
| status = "okay"; |
| }; |
| |
| &usart0 { |
| status = "okay"; |
| |
| atmel,use-dma-rx; |
| }; |
| |
| &pwm0 { |
| status = "okay"; |
| |
| pinctrl-0 = <&pinctrl_pwm0_pwml2_1>; |
| pinctrl-names = "default"; |
| }; |
| |
| &macb1 { |
| status = "okay"; |
| |
| phy-mode = "rmii"; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| phy0: ethernet-phy@3 { |
| reg = <3>; |
| |
| interrupt-parent = <&pioE>; |
| interrupts = <31 IRQ_TYPE_EDGE_FALLING>; |
| }; |
| }; |
| |
| &usb0 { |
| status = "okay"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usba_vbus>; |
| atmel,vbus-gpio = <&pioC 31 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| &usb1 { |
| status = "okay"; |
| |
| num-ports = <1>; |
| atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>; |
| atmel,oc-gpio = <&pioC 15 GPIO_ACTIVE_LOW>; |
| }; |
| |
| &usb2 { |
| status = "okay"; |
| }; |
| |
| &dbgu { |
| status = "okay"; |
| |
| dmas = <0>, <0>; /* Do not use DMA for dbgu */ |
| }; |
| |
| &pioA { |
| gpio-line-names = |
| /* 0 */ "SUP-A", "SUP-B", "SUP-C", "SIG<LEV", |
| /* 4 */ "", "/RFRST", "", "", |
| /* 8 */ "/ADD", "", "/LOOP1", "/LOOP2", |
| /* 12 */ "", "", "", "", |
| /* 16 */ "LED1GREEN", "LED1RED", "LED2GREEN", "LED2RED", |
| /* 20 */ "LED3GREEN", "LED3RED", "LED4GREEN", "LED4RED", |
| /* 24 */ "", "", "", "", |
| /* 28 */ "", "", "SDA", "SCL"; |
| }; |
| |
| &pioB { |
| gpio-line-names = |
| /* 0 */ "", "", "", "", |
| /* 4 */ "", "", "", "", |
| /* 8 */ "", "", "", "", |
| /* 12 */ "", "", "", "", |
| /* 16 */ "", "", "", "", |
| /* 20 */ "", "", "", "", |
| /* 24 */ "", "", "SIG<LIN", "SIG>LIN", |
| /* 28 */ "RXD", "TXD", "BRX", "BTX"; |
| }; |
| |
| &pioC { |
| gpio-line-names = |
| /* 0 */ "ETX0", "ETX1", "ERX0", "ERX1", |
| /* 4 */ "ETXEN", "ECRSDV", "ERXER", "EREFCK", |
| /* 8 */ "EMDC", "EMDIO", "", "", |
| /* 12 */ "", "", "", "/ILIM", |
| /* 16 */ "BCK", "LRCK", "DIN", "", |
| /* 20 */ "", "", "", "", |
| /* 24 */ "", "", "", "", |
| /* 28 */ "", "", "", "VBUS"; |
| }; |
| |
| &pioD { |
| gpio-line-names = |
| /* 0 */ "I1", "I2", "O1", "EXTVEN", |
| /* 4 */ "", "456KHZ", "VCTRL", "SYNCSEL", |
| /* 8 */ "STEREO", "", "", "", |
| /* 12 */ "", "", "", "", |
| /* 16 */ "", ">LIN", "LIN>", "", |
| /* 20 */ "VREFEN", "", "", "", |
| /* 24 */ "", "", "VINOK", "", |
| /* 28 */ "POEOK", "USBON", "POELOAD", ""; |
| }; |
| |
| &pioE { |
| gpio-line-names = |
| /* 0 */ "", "", "", "", |
| /* 4 */ "", "", "", "", |
| /* 8 */ "", "", "", "", |
| /* 12 */ "", "", "", "", |
| /* 16 */ "", "", "", "", |
| /* 20 */ "", "ALE", "CLE", "", |
| /* 24 */ "", "", "", "", |
| /* 28 */ "", "", "", "/ETHINT"; |
| }; |