summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes-kernel/linux/linux-at91-5.4.81/mts-dts/mtr.dts297
1 files changed, 144 insertions, 153 deletions
diff --git a/recipes-kernel/linux/linux-at91-5.4.81/mts-dts/mtr.dts b/recipes-kernel/linux/linux-at91-5.4.81/mts-dts/mtr.dts
index 6a1ba37..bc6ff93 100644
--- a/recipes-kernel/linux/linux-at91-5.4.81/mts-dts/mtr.dts
+++ b/recipes-kernel/linux/linux-at91-5.4.81/mts-dts/mtr.dts
@@ -20,13 +20,13 @@
/ {
#address-cells = <1>;
#size-cells = <1>;
- model = "Atmel AT91SAM9X5-EK";
+ model = "Multi-Tech Systems MTR";
compatible = "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
interrupt-parent = <&aic>;
aliases {
serial0 = &dbgu;
- serial1 = &usart0;
+ serial1 = &uart0;
serial2 = &usart1;
serial3 = &usart2;
gpio0 = &pioA;
@@ -35,15 +35,12 @@
gpio3 = &pioD;
tcb0 = &tcb0;
tcb1 = &tcb1;
- i2c0 = &i2c0;
- i2c1 = &i2c1;
- i2c2 = &i2c2;
ssc0 = &ssc0;
pwm0 = &pwm0;
};
chosen {
- bootargs = "root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs";
+ bootargs = "mem=128M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2";
stdout-path = "serial0:115200n8";
};
@@ -87,21 +84,6 @@
reg = <0x00300000 0x8000>;
};
- 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>;
- };
-
ahb {
compatible = "simple-bus";
#address-cells = <1>;
@@ -329,32 +311,20 @@
ebi {
pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
atmel,pins =
- <AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE>;
- };
-
- pinctrl_ebi_data_8_15: ebi-data-msb-0 {
- atmel,pins =
- <AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
+ <AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+ AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+ AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+ AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+ AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+ AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+ AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+ AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
};
pinctrl_ebi_addr_nand: ebi-addr-0 {
atmel,pins =
- <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_NONE>;
+ <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+ AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
};
};
@@ -469,13 +439,13 @@
nand {
pinctrl_nand_oe_we: nand-oe-we-0 {
atmel,pins =
- <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE
- AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_NONE>;
+ <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+ AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
};
pinctrl_nand_rb: nand-rb-0 {
atmel,pins =
- <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+ <AT91_PIOC 31 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
};
pinctrl_nand_cs: nand-cs-0 {
@@ -484,6 +454,23 @@
};
};
+ /*
+ * Pin A23 will be left floating when the power goes off on the radio.
+ * We need to pull it down to ensure it is low during radio power-off.
+ * pinctrl is loaded during the call to platform_device_register() in mts-io.
+ * If we need to customize this for various hardware revisions, these can
+ * be loaded as overlays prior to loading the mts-io module, overwriting the
+ * atmel,pins section.
+ */
+ mts_io {
+ pinctrl_mts_io: mts_io-0 {
+ atmel,pins =
+ <AT91_PIOA 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PA21 GPIO pull-up radio-power */
+ AT91_PIOA 22 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PA22 GPIO pull-up radio-reset */
+ AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* PA23 GPIO pull-down radio-monitor */
+ };
+ };
+
mmc0 {
pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 {
atmel,pins =
@@ -501,7 +488,8 @@
pinctrl_board_mmc0: mmc0-board {
atmel,pins =
- <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD15 gpio CD pin pull up and deglitch */
+ <AT91_PIOA 26 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH /* PA26 gpio A int pin deglitch (external PU) */
+ AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD15 gpio CD pin pull up and deglitch */
};
};
@@ -810,10 +798,12 @@
reg = <0xf802c000 0x100>;
interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_macb0_rmii>;
+ pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_rmii_mii>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_PERIPHERAL 24>;
clock-names = "hclk", "pclk";
- status = "disabled";
+
+ phy-mode = "mii";
+ status = "okay";
};
ssc0: ssc@f0010000 {
@@ -828,7 +818,7 @@
clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
clock-names = "pclk";
- status = "okay";
+ status = "disabled";
};
mmc0: mmc@f0008000 {
@@ -850,9 +840,17 @@
status = "okay";
slot@0 {
- reg = <0>;
+ compatible = "ti,wl1271";
+ reg = <2>; /* Card function */
bus-width = <4>;
- cd-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>;
+ non-removable;
+ status = "okay";
+ interrupt-parent = <&pioA>;
+ interrupts = <26 IRQ_TYPE_EDGE_RISING>; /* PA26 - REQUIRED */
+ ref-clock-frequency = <38400000>; /* 2 = 38.4MHz */
+ platform-quirks = <0x1>; /* 1 = Edge IRQ */
+ slot-id = <0>; /* Atmel MCI driver fix */
+ cd-gpios = <&pioA 1 GPIO_ACTIVE_HIGH>;
};
};
@@ -873,7 +871,7 @@
&pinctrl_board_mmc1
&pinctrl_mmc1_slot0_clk_cmd_dat0
&pinctrl_mmc1_slot0_dat1_3>;
- status = "okay";
+ status = "disabled";
slot@0 {
reg = <0>;
@@ -893,8 +891,9 @@
dma-names = "tx", "rx";
clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
clock-names = "usart";
-
status = "okay";
+ atmel,use-dma-rx;
+ atmel,use-dma-tx;
};
usart0: serial@f801c000 {
@@ -908,10 +907,9 @@
dma-names = "tx", "rx";
clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
clock-names = "usart";
-
atmel,use-dma-rx;
atmel,use-dma-tx;
- status = "okay";
+ status = "disabled";
};
usart1: serial@f8020000 {
@@ -956,55 +954,6 @@
status = "disabled";
};
- i2c0: i2c@f8010000 {
- compatible = "atmel,at91sam9x5-i2c";
- reg = <0xf8010000 0x100>;
- interrupts = <9 IRQ_TYPE_LEVEL_HIGH 6>;
- dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(7)>,
- <&dma0 1 AT91_DMA_CFG_PER_ID(8)>;
- dma-names = "tx", "rx";
- #address-cells = <1>;
- #size-cells = <0>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2c0>;
- clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
- status = "okay";
- wm8731: wm8731@1a {
- compatible = "wm8731";
- reg = <0x1a>;
- };
- };
-
- i2c1: i2c@f8014000 {
- compatible = "atmel,at91sam9x5-i2c";
- reg = <0xf8014000 0x100>;
- interrupts = <10 IRQ_TYPE_LEVEL_HIGH 6>;
- dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(5)>,
- <&dma1 1 AT91_DMA_CFG_PER_ID(6)>;
- dma-names = "tx", "rx";
- #address-cells = <1>;
- #size-cells = <0>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2c1>;
- clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
- status = "disabled";
- };
-
- i2c2: i2c@f8018000 {
- compatible = "atmel,at91sam9x5-i2c";
- reg = <0xf8018000 0x100>;
- interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>;
- dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(9)>,
- <&dma0 1 AT91_DMA_CFG_PER_ID(10)>;
- dma-names = "tx", "rx";
- #address-cells = <1>;
- #size-cells = <0>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2c2>;
- clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
- status = "disabled";
- };
-
uart0: serial@f8040000 {
compatible = "atmel,at91sam9260-usart";
reg = <0xf8040000 0x200>;
@@ -1013,7 +962,13 @@
pinctrl-0 = <&pinctrl_uart0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
clock-names = "usart";
- status = "disabled";
+
+ atmel,use-dma-rx;
+ atmel,use-dma-tx;
+ status = "okay";
+ dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(11)>,
+ <&dma0 1 (AT91_DMA_CFG_PER_ID(12) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
+ dma-names = "tx", "rx";
};
uart1: serial@f8044000 {
@@ -1044,10 +999,7 @@
atmel,adc-res = <8 10>;
atmel,adc-res-names = "lowres", "highres";
atmel,adc-use-res = "highres";
-
- atmel,adc-ts-wires = <4>;
- atmel,adc-ts-pressure-threshold = <10000>;
- status = "okay";
+ status = "disabled";
trigger0 {
trigger-name = "external-rising";
@@ -1088,13 +1040,7 @@
clock-names = "spi_clk";
cs-gpios = <&pioA 14 0>, <0>, <0>, <0>;
- status = "disabled"; /* conflicts with mmc1 */
-
- m25p80@0 {
- compatible = "atmel,at25df321a";
- spi-max-frequency = <50000000>;
- reg = <0>;
- };
+ status = "okay";
};
spi1: spi@f0004000 {
@@ -1126,8 +1072,8 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_board_usb2>;
- atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
- status = "okay";
+ /* atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>; mtrv1: no vbus-gpio */
+ status = "disabled";
ep@0 {
reg = <0>;
@@ -1221,10 +1167,11 @@
clock-names = "ohci_clk", "hclk", "uhpck";
num-ports = <3>;
- atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */
- &pioD 19 GPIO_ACTIVE_LOW
- &pioD 20 GPIO_ACTIVE_LOW
- >;
+ //mtcdt: no vbus-gpio
+ //atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */
+ // &pioD 19 GPIO_ACTIVE_LOW
+ // &pioD 20 GPIO_ACTIVE_LOW
+ // >;
status = "okay";
};
@@ -1275,13 +1222,13 @@
nand@3 {
reg = <0x3 0x0 0x800000>;
- rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
+ rb-gpios = <&pioC 31 GPIO_ACTIVE_HIGH>;
cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
nand-bus-width = <8>;
nand-ecc-mode = "hw";
- nand-ecc-strength = <2>;
+ nand-ecc-strength = <4>;
nand-ecc-step-size = <512>;
- nand-on-flash-bbt;
+ /* nand-on-flash-bbt; */
label = "atmel_nand";
partitions {
@@ -1289,39 +1236,54 @@
#address-cells = <1>;
#size-cells = <1>;
+ nand@0 {
+ label = "NANDFlash";
+ reg = <0x0 0x10000000>;
+ };
+
at91bootstrap@0 {
label = "at91bootstrap";
reg = <0x0 0x40000>;
};
uboot@40000 {
- label = "u-boot";
- reg = <0x40000 0xc0000>;
+ label = "u-Boot";
+ reg = <0x40000 0x80000>;
};
-
- ubootenvred@100000 {
- label = "U-Boot Env Redundant";
- reg = <0x100000 0x40000>;
+
+ ubootconfig0@c0000 {
+ label = "u-Boot Config";
+ reg = <0xc0000 0xa0000>;
+ };
+
+ ubootconfig1@160000 {
+ label = "u-Boot Redundant Config";
+ reg = <0x160000 0xa0000>;
+ };
+
+ uImage@200000 {
+ label = "uImage";
+ reg = <0x200000 0x600000>;
};
- ubootenv@140000 {
- label = "U-Boot Env";
- reg = <0x140000 0x40000>;
+ config0@800000 {
+ label = "Config";
+ reg = <0x800000 0x800000>;
};
- dtb@180000 {
- label = "device tree";
- reg = <0x180000 0x80000>;
+ config1@1000000 {
+ label = "OEM Config";
+ reg = <0x1000000 0x800000>;
};
- kernel@200000 {
- label = "kernel";
- reg = <0x200000 0x600000>;
+ rootfs@1800000 {
+ label = "Rootfs";
+ reg = <0x1800000 0x8000000>;
};
- rootfs@800000 {
- label = "rootfs";
- reg = <0x800000 0x0f800000>;
+ user@9800000 {
+ label = "User data";
+ reg = <0x9800000 0x6800000>;
};
};
};
@@ -1341,7 +1303,14 @@
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c_gpio0>;
- status = "disabled";
+ status = "okay";
+
+ id_eeprom@56 {
+ compatible = "atmel,24c04";
+ reg = <0x56>;
+ pagesize = <16>;
+ status = "okay";
+ };
};
i2c-gpio-1 {
@@ -1374,18 +1343,40 @@
status = "disabled";
};
+ mts-io-0 {
+ status = "okay";
+ compatible = "mts,mts-io";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_mts_io>;
+ };
+
leds {
compatible = "gpio-leds";
- pb18 {
- label = "pb18";
- gpios = <&pioB 18 GPIO_ACTIVE_LOW>;
- linux,default-trigger = "heartbeat";
+ pc21 {
+ label = "led-status";
+ gpios = <&pioC 21 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
};
-
- pd21 {
- label = "pd21";
- gpios = <&pioD 21 GPIO_ACTIVE_HIGH>;
+ pc15 {
+ label = "led-b";
+ gpios = <&pioC 15 GPIO_ACTIVE_LOW>;
+ };
+ pc20 {
+ label = "led-c";
+ gpios = <&pioC 20 GPIO_ACTIVE_LOW>;
+ };
+ pc19 {
+ label = "led-d";
+ gpios = <&pioC 19 GPIO_ACTIVE_LOW>;
+ };
+ pc18 {
+ label = "led-e";
+ gpios = <&pioC 18 GPIO_ACTIVE_LOW>;
+ };
+ pc17 {
+ label = "led-f";
+ gpios = <&pioC 17 GPIO_ACTIVE_LOW>;
};
};