From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Add device tree for Cirrus EDB9302.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
arch/arm/boot/dts/cirrus/Makefile | 1 +
arch/arm/boot/dts/cirrus/ep93xx-edb9302.dts | 180 ++++++++++++++++++++++++++++
2 files changed, 181 insertions(+)
@@ -4,5 +4,6 @@ dtb-$(CONFIG_ARCH_CLPS711X) += \
dtb-$(CONFIG_ARCH_CLPS711X) += \
ep7211-edb7211.dtb
dtb-$(CONFIG_ARCH_EP93XX) += \
+ ep93xx-edb9302.dtb \
ep93xx-bk3.dtb \
ep93xx-ts7250.dtb
new file mode 100644
@@ -0,0 +1,180 @@
+// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+/*
+ * Device Tree file for Cirrus Logic EDB9302 board based on EP9302 SoC
+ */
+/dts-v1/;
+#include "ep93xx.dtsi"
+#include <dt-bindings/dma/cirrus,ep93xx-dma.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "cirrus,edb9302", "cirrus,ep9301";
+ model = "cirrus,edb9302";
+
+ chosen {
+ };
+
+ memory@0 {
+ device_type = "memory";
+ /* should be set from ATAGS */
+ reg = <0x0000000 0x800000>,
+ <0x1000000 0x800000>,
+ <0x4000000 0x800000>,
+ <0x5000000 0x800000>;
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "EDB93XX";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,convert-channels = <2>;
+ simple-audio-card,convert-sample-format = "s32_le";
+
+ simple-audio-card,cpu {
+ sound-dai = <&i2s>;
+ system-clock-direction-out;
+ frame-master;
+ bitclock-master;
+ dai-sample-format = "s32_le";
+ dai-channels = <2>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&cs4271>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ led-0 {
+ label = "grled";
+ gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "heartbeat";
+ function = LED_FUNCTION_HEARTBEAT;
+ };
+
+ led-1 {
+ label = "rdled";
+ gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;
+ function = LED_FUNCTION_FAULT;
+ };
+ };
+};
+
+&adc {
+ status = "okay";
+};
+
+&ebi {
+ flash@60000000 {
+ compatible = "cfi-flash";
+ reg = <0x60000000 0x1000000>;
+ bank-width = <2>;
+ };
+};
+
+ð0 {
+ phy-handle = <&phy0>;
+};
+
+&gpio0 {
+ gpio-ranges = <&pinctrl 0 153 1>,
+ <&pinctrl 1 152 1>,
+ <&pinctrl 2 151 1>,
+ <&pinctrl 3 148 1>,
+ <&pinctrl 4 147 1>,
+ <&pinctrl 5 146 1>,
+ <&pinctrl 6 145 1>,
+ <&pinctrl 7 144 1>;
+};
+
+&gpio1 {
+ gpio-ranges = <&pinctrl 0 143 1>,
+ <&pinctrl 1 142 1>,
+ <&pinctrl 2 141 1>,
+ <&pinctrl 3 140 1>,
+ <&pinctrl 4 165 1>,
+ <&pinctrl 5 164 1>,
+ <&pinctrl 6 163 1>,
+ <&pinctrl 7 160 1>;
+};
+
+&gpio2 {
+ gpio-ranges = <&pinctrl 0 115 1>;
+ status = "okay";
+};
+
+&gpio4 {
+ gpio-ranges = <&pinctrl 0 97 2>;
+ status = "okay";
+};
+
+&gpio5 {
+ gpio-ranges = <&pinctrl 1 170 1>,
+ <&pinctrl 2 169 1>,
+ <&pinctrl 3 168 1>;
+};
+
+&gpio6 {
+ gpio-ranges = <&pinctrl 0 87 2>;
+ status = "okay";
+};
+
+&gpio7 {
+ gpio-ranges = <&pinctrl 2 199 4>;
+ status = "okay";
+};
+
+&i2s {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s_on_ac97_pins>;
+ status = "okay";
+};
+
+&mdio0 {
+ phy0: ethernet-phy@1 {
+ reg = <1>;
+ device_type = "ethernet-phy";
+ };
+};
+
+&spi0 {
+ cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW
+ &gpio0 7 GPIO_ACTIVE_LOW>;
+ dmas = <&dma1 EP93XX_DMA_SSP>;
+ status = "okay";
+
+ cs4271: codec@0 {
+ compatible = "cirrus,cs4271";
+ reg = <0>;
+ #sound-dai-cells = <0>;
+ spi-max-frequency = <6000000>;
+ spi-cpol;
+ spi-cpha;
+ reset-gpio = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+ };
+
+ at25f1024: eeprom@1 {
+ compatible = "atmel,at25";
+ reg = <1>;
+ address-width = <8>;
+ size = <0x20000>;
+ pagesize = <256>;
+ spi-max-frequency = <20000000>;
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
+