0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * at91-tse850-3.dts - Device Tree file for the Axentia TSE-850 3.0 board
0004 *
0005 * Copyright (C) 2017 Axentia Technologies AB
0006 *
0007 * Author: Peter Rosin <peda@axentia.se>
0008 */
0009 /dts-v1/;
0010 #include <dt-bindings/pwm/pwm.h>
0011 #include "at91-linea.dtsi"
0012
0013 / {
0014 model = "Axentia TSE-850 3.0";
0015 compatible = "axentia,tse850v3", "axentia,linea",
0016 "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
0017
0018 sck: oscillator {
0019 compatible = "fixed-clock";
0020
0021 #clock-cells = <0>;
0022 clock-frequency = <16000000>;
0023 clock-output-names = "sck";
0024 };
0025
0026 reg_3v3: regulator {
0027 compatible = "regulator-fixed";
0028
0029 regulator-name = "3v3-supply";
0030 regulator-min-microvolt = <3300000>;
0031 regulator-max-microvolt = <3300000>;
0032 };
0033
0034 ana: reg-ana {
0035 compatible = "pwm-regulator";
0036
0037 regulator-name = "ANA";
0038
0039 pwms = <&pwm0 2 1000 PWM_POLARITY_INVERTED>;
0040 pwm-dutycycle-unit = <1000>;
0041 pwm-dutycycle-range = <100 1000>;
0042
0043 regulator-min-microvolt = <2000000>;
0044 regulator-max-microvolt = <20000000>;
0045 regulator-ramp-delay = <1000>;
0046 };
0047
0048 sound {
0049 compatible = "axentia,tse850-pcm5142";
0050
0051 axentia,cpu-dai = <&ssc0>;
0052 axentia,audio-codec = <&pcm5142>;
0053
0054 axentia,add-gpios = <&pioA 8 GPIO_ACTIVE_LOW>;
0055 axentia,loop1-gpios = <&pioA 10 GPIO_ACTIVE_LOW>;
0056 axentia,loop2-gpios = <&pioA 11 GPIO_ACTIVE_LOW>;
0057
0058 axentia,ana-supply = <&ana>;
0059 };
0060
0061 dac: dpot-dac {
0062 compatible = "dpot-dac";
0063 vref-supply = <®_3v3>;
0064 io-channels = <&dpot 0>;
0065 io-channel-names = "dpot";
0066 #io-channel-cells = <1>;
0067 };
0068
0069 env_det: envelope-detector {
0070 compatible = "axentia,tse850-envelope-detector";
0071 io-channels = <&dac 0>;
0072 io-channel-names = "dac";
0073 #io-channel-cells = <1>;
0074
0075 interrupt-parent = <&pioA>;
0076 interrupts = <3 IRQ_TYPE_EDGE_RISING>;
0077 interrupt-names = "comp";
0078 };
0079
0080 mux: mux-controller {
0081 compatible = "gpio-mux";
0082 #mux-control-cells = <0>;
0083
0084 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,
0085 <&pioA 1 GPIO_ACTIVE_HIGH>,
0086 <&pioA 2 GPIO_ACTIVE_HIGH>;
0087 idle-state = <0>;
0088 };
0089
0090 envelope-detector-mux {
0091 compatible = "io-channel-mux";
0092 io-channels = <&env_det 0>;
0093 io-channel-names = "parent";
0094
0095 mux-controls = <&mux>;
0096
0097 channels = "", "",
0098 "sync-1",
0099 "in",
0100 "out",
0101 "sync-2",
0102 "sys-reg",
0103 "ana-reg";
0104 };
0105
0106 leds {
0107 compatible = "gpio-leds";
0108
0109 ch1-red {
0110 label = "ch-1:red";
0111 gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
0112 };
0113 ch1-green {
0114 label = "ch-1:green";
0115 gpios = <&pioA 22 GPIO_ACTIVE_LOW>;
0116 };
0117 ch2-red {
0118 label = "ch-2:red";
0119 gpios = <&pioA 21 GPIO_ACTIVE_LOW>;
0120 };
0121 ch2-green {
0122 label = "ch-2:green";
0123 gpios = <&pioA 20 GPIO_ACTIVE_LOW>;
0124 };
0125 data-red {
0126 label = "data:red";
0127 gpios = <&pioA 19 GPIO_ACTIVE_LOW>;
0128 };
0129 data-green {
0130 label = "data:green";
0131 gpios = <&pioA 18 GPIO_ACTIVE_LOW>;
0132 };
0133 alarm-red {
0134 label = "alarm:red";
0135 gpios = <&pioA 17 GPIO_ACTIVE_LOW>;
0136 };
0137 alarm-green {
0138 label = "alarm:green";
0139 gpios = <&pioA 16 GPIO_ACTIVE_LOW>;
0140 };
0141 };
0142 };
0143
0144 &nand {
0145 partitions {
0146 compatible = "fixed-partitions";
0147 #address-cells = <1>;
0148 #size-cells = <1>;
0149
0150 at91bootstrap@0 {
0151 label = "at91bootstrap";
0152 reg = <0x0 0x40000>;
0153 };
0154
0155 barebox@40000 {
0156 label = "bootloader";
0157 reg = <0x40000 0x60000>;
0158 };
0159
0160 bareboxenv@c0000 {
0161 label = "bareboxenv";
0162 reg = <0xc0000 0x40000>;
0163 };
0164
0165 bareboxenv2@100000 {
0166 label = "bareboxenv2";
0167 reg = <0x100000 0x40000>;
0168 };
0169
0170 oftree@180000 {
0171 label = "oftree";
0172 reg = <0x180000 0x20000>;
0173 };
0174
0175 kernel@200000 {
0176 label = "kernel";
0177 reg = <0x200000 0x500000>;
0178 };
0179
0180 rootfs@800000 {
0181 label = "rootfs";
0182 reg = <0x800000 0x0f800000>;
0183 };
0184
0185 ovlfs@10000000 {
0186 label = "ovlfs";
0187 reg = <0x10000000 0x10000000>;
0188 };
0189 };
0190 };
0191
0192 &ssc0 {
0193 #sound-dai-cells = <0>;
0194
0195 status = "okay";
0196 };
0197
0198 &i2c0 {
0199 status = "okay";
0200
0201 jc42@18 {
0202 compatible = "nxp,se97b", "jedec,jc-42.4-temp";
0203 reg = <0x18>;
0204 smbus-timeout-disable;
0205 };
0206
0207 dpot: mcp4651-104@28 {
0208 compatible = "microchip,mcp4651-104";
0209 reg = <0x28>;
0210 #io-channel-cells = <1>;
0211 };
0212
0213 pcm5142: pcm5142@4c {
0214 compatible = "ti,pcm5142";
0215
0216 reg = <0x4c>;
0217 #sound-dai-cells = <0>;
0218
0219 AVDD-supply = <®_3v3>;
0220 DVDD-supply = <®_3v3>;
0221 CPVDD-supply = <®_3v3>;
0222
0223 clocks = <&sck>;
0224
0225 pll-in = <3>;
0226 pll-out = <6>;
0227 };
0228
0229 eeprom@50 {
0230 compatible = "nxp,se97b", "atmel,24c02";
0231 reg = <0x50>;
0232 pagesize = <16>;
0233 };
0234 };
0235
0236 &pinctrl {
0237 tse850 {
0238 pinctrl_usba_vbus: usba-vbus {
0239 atmel,pins = <AT91_PIOC 31 AT91_PERIPH_GPIO
0240 AT91_PINCTRL_DEGLITCH>;
0241 };
0242 };
0243 };
0244
0245 &watchdog {
0246 status = "okay";
0247 };
0248
0249 &usart0 {
0250 status = "okay";
0251
0252 atmel,use-dma-rx;
0253 };
0254
0255 &pwm0 {
0256 status = "okay";
0257
0258 pinctrl-0 = <&pinctrl_pwm0_pwml2_1>;
0259 pinctrl-names = "default";
0260 };
0261
0262 &macb1 {
0263 status = "okay";
0264
0265 phy-mode = "rmii";
0266
0267 #address-cells = <1>;
0268 #size-cells = <0>;
0269
0270 phy0: ethernet-phy@3 {
0271 reg = <3>;
0272
0273 interrupt-parent = <&pioE>;
0274 interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
0275 };
0276 };
0277
0278 &usb0 {
0279 status = "okay";
0280
0281 pinctrl-names = "default";
0282 pinctrl-0 = <&pinctrl_usba_vbus>;
0283 atmel,vbus-gpio = <&pioC 31 GPIO_ACTIVE_HIGH>;
0284 };
0285
0286 &usb1 {
0287 status = "okay";
0288
0289 num-ports = <1>;
0290 atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>;
0291 atmel,oc-gpio = <&pioC 15 GPIO_ACTIVE_LOW>;
0292 };
0293
0294 &usb2 {
0295 status = "okay";
0296 };
0297
0298 &dbgu {
0299 status = "okay";
0300
0301 dmas = <0>, <0>; /* Do not use DMA for dbgu */
0302 };