// 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"; };