2016-09-01 00:12:28 +00:00
|
|
|
From d19d5b3ba0d66be4b321995019c92ee6603cd658 Mon Sep 17 00:00:00 2001
|
2015-06-15 02:34:34 +00:00
|
|
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
|
|
Date: Sat, 13 Jun 2015 13:46:30 -0600
|
2016-09-01 00:12:28 +00:00
|
|
|
Subject: [PATCH 2/4] at91: arietta-g25 support
|
2015-06-15 02:34:34 +00:00
|
|
|
|
|
|
|
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
|
|
---
|
|
|
|
arch/arm/boot/dts/Makefile | 2 +
|
|
|
|
arch/arm/boot/dts/at91-arietta128.dts | 169 ++++++++++++++++++++++++++++++++++
|
|
|
|
arch/arm/boot/dts/at91-arietta256.dts | 169 ++++++++++++++++++++++++++++++++++
|
|
|
|
3 files changed, 340 insertions(+)
|
|
|
|
create mode 100644 arch/arm/boot/dts/at91-arietta128.dts
|
|
|
|
create mode 100644 arch/arm/boot/dts/at91-arietta256.dts
|
|
|
|
|
|
|
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
2016-09-01 00:12:28 +00:00
|
|
|
index faacd52..3992360 100644
|
2015-06-15 02:34:34 +00:00
|
|
|
--- a/arch/arm/boot/dts/Makefile
|
|
|
|
+++ b/arch/arm/boot/dts/Makefile
|
2016-09-01 00:12:28 +00:00
|
|
|
@@ -36,6 +36,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
|
2015-06-15 02:34:34 +00:00
|
|
|
at91sam9n12ek.dtb \
|
|
|
|
at91sam9rlek.dtb \
|
|
|
|
at91-ariag25.dtb \
|
|
|
|
+ at91-arietta128.dtb \
|
|
|
|
+ at91-arietta256.dtb \
|
2015-07-08 01:04:26 +00:00
|
|
|
at91-ariettag25.dtb \
|
2015-06-15 02:34:34 +00:00
|
|
|
at91-cosino_mega2560.dtb \
|
2015-07-08 01:04:26 +00:00
|
|
|
at91-kizboxmini.dtb \
|
2015-06-15 02:34:34 +00:00
|
|
|
diff --git a/arch/arm/boot/dts/at91-arietta128.dts b/arch/arm/boot/dts/at91-arietta128.dts
|
|
|
|
new file mode 100644
|
|
|
|
index 0000000..e43533d
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/arch/arm/boot/dts/at91-arietta128.dts
|
|
|
|
@@ -0,0 +1,169 @@
|
|
|
|
+/*
|
|
|
|
+ * acme-arietta.dts - Device Tree file for Arietta G25
|
|
|
|
+ * Generated by http://dts.acmesystems.it/arietta
|
|
|
|
+ */
|
|
|
|
+/dts-v1/;
|
|
|
|
+#include "at91sam9g25.dtsi"
|
|
|
|
+/ {
|
|
|
|
+ model = "Acme Systems Arietta G25";
|
|
|
|
+ compatible = "acme,ariettag25", "atmel,at91sam9x5ek","atmel,at91sam9x5", "atmel,at91sam9";
|
|
|
|
+ aliases {
|
|
|
|
+ serial0 = &dbgu;
|
|
|
|
+ serial1 = &usart0;
|
|
|
|
+ serial2 = &usart1;
|
|
|
|
+ serial3 = &usart2;
|
|
|
|
+ serial4 = &usart3;
|
|
|
|
+ serial5 = &uart0;
|
|
|
|
+ serial6 = &uart1;
|
|
|
|
+ };
|
|
|
|
+ chosen {
|
|
|
|
+ bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
|
|
|
|
+ };
|
|
|
|
+ memory {
|
|
|
|
+ reg = <0x20000000 0x8000000>;
|
|
|
|
+ };
|
|
|
|
+ clocks {
|
|
|
|
+ #address-cells = <1>;
|
|
|
|
+ #size-cells = <1>;
|
|
|
|
+ ranges;
|
|
|
|
+ main_clock: clock@0 {
|
|
|
|
+ compatible = "atmel,osc", "fixed-clock";
|
|
|
|
+ clock-frequency = <12000000>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ main_xtal {
|
|
|
|
+ clock-frequency = <12000000>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ ahb {
|
|
|
|
+ apb {
|
|
|
|
+ mmc0: mmc@f0008000 {
|
|
|
|
+ pinctrl-0 = <
|
|
|
|
+ &pinctrl_mmc0_slot0_clk_cmd_dat0
|
|
|
|
+ &pinctrl_mmc0_slot0_dat1_3>;
|
|
|
|
+ status = "okay";
|
|
|
|
+ slot@0 {
|
|
|
|
+ reg = <0>;
|
|
|
|
+ bus-width = <4>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ i2c0: i2c@f8010000 {
|
|
|
|
+ status ="okay";
|
|
|
|
+ wm8731: wm8731@1b {
|
|
|
|
+ compatible = "wm8731";
|
|
|
|
+ reg = <0x1b>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ i2c1: i2c@f8014000 {
|
|
|
|
+ status ="okay";
|
|
|
|
+ };
|
|
|
|
+ usart0: serial@f801c000 {
|
|
|
|
+ pinctrl-0 = <&pinctrl_usart0>;
|
|
|
|
+ status ="okay";
|
|
|
|
+ };
|
|
|
|
+ spi1: spi@f0004000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ cs-gpios = <&pioA 8 0>, <&pioA 0 0>, <&pioA 31 0>, <&pioA 30 0>;
|
|
|
|
+ device@0 {
|
|
|
|
+ compatible = "spidev";
|
|
|
|
+ spi-max-frequency = <5000000>; // 5 MHz
|
|
|
|
+ reg = <0>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ pinctrl@fffff400 {
|
|
|
|
+ adc0 {
|
|
|
|
+ pinctrl_adc0_ad0: adc0_ad0 {
|
|
|
|
+ atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
|
|
+ };
|
|
|
|
+ pinctrl_adc0_ad1: adc0_ad1 {
|
|
|
|
+ atmel,pins = <AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
|
|
+ };
|
|
|
|
+ pinctrl_adc0_ad2: adc0_ad2 {
|
|
|
|
+ atmel,pins = <AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
|
|
+ };
|
|
|
|
+ pinctrl_adc0_ad3: adc0_ad3 {
|
|
|
|
+ atmel,pins = <AT91_PIOB 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ adc0: adc@f804c000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&pinctrl_adc0_ad0 &pinctrl_adc0_ad1 &pinctrl_adc0_ad2 &pinctrl_adc0_ad3>;
|
|
|
|
+ atmel,adc-channels-used = <0xf>;
|
|
|
|
+ atmel,adc-num-channels = <4>;
|
|
|
|
+ compatible = "atmel,at91sam9x5-adc";
|
|
|
|
+ atmel,adc-startup-time = <40>;
|
|
|
|
+ atmel,adc-status-register = <0x1c>;
|
|
|
|
+ atmel,adc-trigger-register = <0x08>;
|
|
|
|
+ atmel,adc-use-external;
|
|
|
|
+ atmel,adc-vref = <3250>;
|
|
|
|
+ atmel,adc-res = <8 10>;
|
|
|
|
+ atmel,adc-res-names = "lowres", "highres";
|
|
|
|
+ atmel,adc-use-res = "highres";
|
|
|
|
+ trigger@0 {
|
|
|
|
+ trigger-name = "continuous";
|
|
|
|
+ trigger-value = <0x6>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ ssc0: ssc@f0010000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+ usb2: gadget@f803c000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+ dbgu: serial@fffff200 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+ pinctrl@fffff400 {
|
|
|
|
+ w1_0 {
|
|
|
|
+ pinctrl_w1_0: w1_0-0 {
|
|
|
|
+ /* pull up on */
|
|
|
|
+ atmel,pins = <2 31 0x0 0x1>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ };
|
|
|
|
+ rtc@fffffeb0 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ usb0: ohci@00600000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ num-ports = <3>;
|
|
|
|
+ };
|
|
|
|
+ usb1: ehci@00700000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ leds {
|
|
|
|
+ compatible = "gpio-leds";
|
|
|
|
+ arietta_led {
|
|
|
|
+ label = "arietta_led";
|
|
|
|
+ gpios = <&pioB 8 GPIO_ACTIVE_HIGH>; /* PB8 */
|
|
|
|
+ linux,default-trigger = "heartbeat";
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ onewire@0 {
|
|
|
|
+ compatible = "w1-gpio";
|
|
|
|
+ gpios = <&pioC 31 GPIO_ACTIVE_LOW>;
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&pinctrl_w1_0>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ sound {
|
|
|
|
+ compatible = "atmel,sam9x5-wm8731-audio";
|
|
|
|
+ atmel,model = "wm8731 @ AT91SAM9X5EK";
|
|
|
|
+ atmel,audio-routing =
|
|
|
|
+ "Headphone Jack", "RHPOUT",
|
|
|
|
+ "Headphone Jack", "LHPOUT",
|
|
|
|
+ "LLINEIN", "Line In Jack",
|
|
|
|
+ "RLINEIN", "Line In Jack";
|
|
|
|
+ atmel,ssc-controller = <&ssc0>;
|
|
|
|
+ atmel,audio-codec = <&wm8731>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+};
|
|
|
|
diff --git a/arch/arm/boot/dts/at91-arietta256.dts b/arch/arm/boot/dts/at91-arietta256.dts
|
|
|
|
new file mode 100644
|
|
|
|
index 0000000..cbae789
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/arch/arm/boot/dts/at91-arietta256.dts
|
|
|
|
@@ -0,0 +1,169 @@
|
|
|
|
+/*
|
|
|
|
+ * acme-arietta.dts - Device Tree file for Arietta G25
|
|
|
|
+ * Generated by http://dts.acmesystems.it/arietta
|
|
|
|
+ */
|
|
|
|
+/dts-v1/;
|
|
|
|
+#include "at91sam9g25.dtsi"
|
|
|
|
+/ {
|
|
|
|
+ model = "Acme Systems Arietta G25";
|
|
|
|
+ compatible = "acme,ariettag25", "atmel,at91sam9x5ek","atmel,at91sam9x5", "atmel,at91sam9";
|
|
|
|
+ aliases {
|
|
|
|
+ serial0 = &dbgu;
|
|
|
|
+ serial1 = &usart0;
|
|
|
|
+ serial2 = &usart1;
|
|
|
|
+ serial3 = &usart2;
|
|
|
|
+ serial4 = &usart3;
|
|
|
|
+ serial5 = &uart0;
|
|
|
|
+ serial6 = &uart1;
|
|
|
|
+ };
|
|
|
|
+ chosen {
|
|
|
|
+ bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
|
|
|
|
+ };
|
|
|
|
+ memory {
|
|
|
|
+ reg = <0x20000000 0x10000000>;
|
|
|
|
+ };
|
|
|
|
+ clocks {
|
|
|
|
+ #address-cells = <1>;
|
|
|
|
+ #size-cells = <1>;
|
|
|
|
+ ranges;
|
|
|
|
+ main_clock: clock@0 {
|
|
|
|
+ compatible = "atmel,osc", "fixed-clock";
|
|
|
|
+ clock-frequency = <12000000>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ main_xtal {
|
|
|
|
+ clock-frequency = <12000000>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ ahb {
|
|
|
|
+ apb {
|
|
|
|
+ mmc0: mmc@f0008000 {
|
|
|
|
+ pinctrl-0 = <
|
|
|
|
+ &pinctrl_mmc0_slot0_clk_cmd_dat0
|
|
|
|
+ &pinctrl_mmc0_slot0_dat1_3>;
|
|
|
|
+ status = "okay";
|
|
|
|
+ slot@0 {
|
|
|
|
+ reg = <0>;
|
|
|
|
+ bus-width = <4>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ i2c0: i2c@f8010000 {
|
|
|
|
+ status ="okay";
|
|
|
|
+ wm8731: wm8731@1b {
|
|
|
|
+ compatible = "wm8731";
|
|
|
|
+ reg = <0x1b>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ i2c1: i2c@f8014000 {
|
|
|
|
+ status ="okay";
|
|
|
|
+ };
|
|
|
|
+ usart0: serial@f801c000 {
|
|
|
|
+ pinctrl-0 = <&pinctrl_usart0>;
|
|
|
|
+ status ="okay";
|
|
|
|
+ };
|
|
|
|
+ spi1: spi@f0004000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ cs-gpios = <&pioA 8 0>, <&pioA 0 0>, <&pioA 31 0>, <&pioA 30 0>;
|
|
|
|
+ device@0 {
|
|
|
|
+ compatible = "spidev";
|
|
|
|
+ spi-max-frequency = <5000000>; // 5 MHz
|
|
|
|
+ reg = <0>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ pinctrl@fffff400 {
|
|
|
|
+ adc0 {
|
|
|
|
+ pinctrl_adc0_ad0: adc0_ad0 {
|
|
|
|
+ atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
|
|
+ };
|
|
|
|
+ pinctrl_adc0_ad1: adc0_ad1 {
|
|
|
|
+ atmel,pins = <AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
|
|
+ };
|
|
|
|
+ pinctrl_adc0_ad2: adc0_ad2 {
|
|
|
|
+ atmel,pins = <AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
|
|
+ };
|
|
|
|
+ pinctrl_adc0_ad3: adc0_ad3 {
|
|
|
|
+ atmel,pins = <AT91_PIOB 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ adc0: adc@f804c000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&pinctrl_adc0_ad0 &pinctrl_adc0_ad1 &pinctrl_adc0_ad2 &pinctrl_adc0_ad3>;
|
|
|
|
+ atmel,adc-channels-used = <0xf>;
|
|
|
|
+ atmel,adc-num-channels = <4>;
|
|
|
|
+ compatible = "atmel,at91sam9x5-adc";
|
|
|
|
+ atmel,adc-startup-time = <40>;
|
|
|
|
+ atmel,adc-status-register = <0x1c>;
|
|
|
|
+ atmel,adc-trigger-register = <0x08>;
|
|
|
|
+ atmel,adc-use-external;
|
|
|
|
+ atmel,adc-vref = <3250>;
|
|
|
|
+ atmel,adc-res = <8 10>;
|
|
|
|
+ atmel,adc-res-names = "lowres", "highres";
|
|
|
|
+ atmel,adc-use-res = "highres";
|
|
|
|
+ trigger@0 {
|
|
|
|
+ trigger-name = "continuous";
|
|
|
|
+ trigger-value = <0x6>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ ssc0: ssc@f0010000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+ usb2: gadget@f803c000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+ dbgu: serial@fffff200 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+ pinctrl@fffff400 {
|
|
|
|
+ w1_0 {
|
|
|
|
+ pinctrl_w1_0: w1_0-0 {
|
|
|
|
+ /* pull up on */
|
|
|
|
+ atmel,pins = <2 31 0x0 0x1>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ };
|
|
|
|
+ rtc@fffffeb0 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ usb0: ohci@00600000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ num-ports = <3>;
|
|
|
|
+ };
|
|
|
|
+ usb1: ehci@00700000 {
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ leds {
|
|
|
|
+ compatible = "gpio-leds";
|
|
|
|
+ arietta_led {
|
|
|
|
+ label = "arietta_led";
|
|
|
|
+ gpios = <&pioB 8 GPIO_ACTIVE_HIGH>; /* PB8 */
|
|
|
|
+ linux,default-trigger = "heartbeat";
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ onewire@0 {
|
|
|
|
+ compatible = "w1-gpio";
|
|
|
|
+ gpios = <&pioC 31 GPIO_ACTIVE_LOW>;
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&pinctrl_w1_0>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ sound {
|
|
|
|
+ compatible = "atmel,sam9x5-wm8731-audio";
|
|
|
|
+ atmel,model = "wm8731 @ AT91SAM9X5EK";
|
|
|
|
+ atmel,audio-routing =
|
|
|
|
+ "Headphone Jack", "RHPOUT",
|
|
|
|
+ "Headphone Jack", "LHPOUT",
|
|
|
|
+ "LLINEIN", "Line In Jack",
|
|
|
|
+ "RLINEIN", "Line In Jack";
|
|
|
|
+ atmel,ssc-controller = <&ssc0>;
|
|
|
|
+ atmel,audio-codec = <&wm8731>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+};
|
|
|
|
--
|
2016-09-01 00:12:28 +00:00
|
|
|
2.9.3
|
2015-06-15 02:34:34 +00:00
|
|
|
|