From 3854c9a5d5083f5f9237032278dee51c47bdea9d Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sat, 13 Jun 2015 13:46:30 -0600 Subject: [PATCH 2/4] at91: arietta-g25 support Signed-off-by: Kevin Mihelich --- 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 index faacd52..3992360 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -36,6 +36,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \ at91sam9n12ek.dtb \ at91sam9rlek.dtb \ at91-ariag25.dtb \ + at91-arietta128.dtb \ + at91-arietta256.dtb \ at91-ariettag25.dtb \ at91-cosino_mega2560.dtb \ at91-kizboxmini.dtb \ 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 = ; + }; + pinctrl_adc0_ad1: adc0_ad1 { + atmel,pins = ; + }; + pinctrl_adc0_ad2: adc0_ad2 { + atmel,pins = ; + }; + pinctrl_adc0_ad3: adc0_ad3 { + atmel,pins = ; + }; + }; + }; + + 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 = ; + }; + pinctrl_adc0_ad1: adc0_ad1 { + atmel,pins = ; + }; + pinctrl_adc0_ad2: adc0_ad2 { + atmel,pins = ; + }; + pinctrl_adc0_ad3: adc0_ad3 { + atmel,pins = ; + }; + }; + }; + + 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>; + }; + +}; -- 2.10.2