summaryrefslogtreecommitdiff
path: root/recipes-kernel
diff options
context:
space:
mode:
authorMike Nicholson <Mike.Nicholson@multitech.com>2019-02-07 17:21:54 -0600
committerJohn Klug <john.klug@multitech.com>2019-07-03 11:22:01 -0500
commitb8a98b02e838699820abf02f7e1dae2e22329860 (patch)
treecf0fcaaf4ddd692d92055832e248b9c9e2fa281e /recipes-kernel
parent5fe8c1becf4863f1f4b4660f529c92a288c8cbeb (diff)
downloadmeta-multitech-b8a98b02e838699820abf02f7e1dae2e22329860.tar.gz
meta-multitech-b8a98b02e838699820abf02f7e1dae2e22329860.tar.bz2
meta-multitech-b8a98b02e838699820abf02f7e1dae2e22329860.zip
Add mts-io/John's radio reset, remove m25p80, remove 16-bit nand, streamline uart0 DMA
Diffstat (limited to 'recipes-kernel')
-rw-r--r--recipes-kernel/linux/linux-at91-4.9.87/mtr/linux-4.9-mtr-device-tree.patch78
1 files changed, 44 insertions, 34 deletions
diff --git a/recipes-kernel/linux/linux-at91-4.9.87/mtr/linux-4.9-mtr-device-tree.patch b/recipes-kernel/linux/linux-at91-4.9.87/mtr/linux-4.9-mtr-device-tree.patch
index 436fece..5f00e52 100644
--- a/recipes-kernel/linux/linux-at91-4.9.87/mtr/linux-4.9-mtr-device-tree.patch
+++ b/recipes-kernel/linux/linux-at91-4.9.87/mtr/linux-4.9-mtr-device-tree.patch
@@ -1,7 +1,7 @@
diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/mtr.dts linux-4.9.87/arch/arm/boot/dts/mtr.dts
--- linux-4.9.87.orig/arch/arm/boot/dts/mtr.dts 1969-12-31 18:00:00.000000000 -0600
+++ linux-4.9.87/arch/arm/boot/dts/mtr.dts 2019-01-03 15:17:51.799576663 -0600
-@@ -0,0 +1,262 @@
+@@ -0,0 +1,281 @@
+/*
+ * DTS file for Multi-Tech Systems mtr Hardware
+ *
@@ -17,6 +17,9 @@ diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/mtr.dts linux-4.9.87/arch/arm/boo
+/ {
+ model = "Multi-Tech Systems MTR";
+ compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
++ aliases {
++ serial1 = &uart0;
++ };
+
+ chosen {
+ bootargs = "mem=128M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2";
@@ -39,6 +42,7 @@ diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/mtr.dts linux-4.9.87/arch/arm/boo
+
+ ahb {
+ apb {
++ /delete-node/ spi@f0004000;
+ macb0: ethernet@f802c000 {
+ phy-mode = "mii";
+ status = "okay";
@@ -95,17 +99,26 @@ diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/mtr.dts linux-4.9.87/arch/arm/boo
+ AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD13 periph A Data bit 7 */
+ };
+
-+ pinctrl_nand_16bits: nand_16bits-0 {
++ /delete-node/ nand_16bits-0;
++ };
++
++ /delete-node/ spi1;
++
++ /*
++ * 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_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD14 periph A Data bit 8 */
-+ AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD15 periph A Data bit 9 */
-+ AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD16 periph A Data bit 10 */
-+ AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD17 periph A Data bit 11 */
-+ AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD18 periph A Data bit 12 */
-+ AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD19 periph A Data bit 13 */
-+ AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD20 periph A Data bit 14 */
-+ AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD21 periph A Data bit 15 */
-+ };
++ <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 */
++ };
+ };
+
+ 1wire_cm {
@@ -113,20 +126,8 @@ diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/mtr.dts linux-4.9.87/arch/arm/boo
+ atmel,pins = <AT91_PIOB 18 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; /* PB18 multidrive, conflicts with led */
+ };
+ };
-+
-+ radio_control {
-+ pinctrl_radio_control: radio_control-0 {
-+ atmel,pins =
-+ <AT91_PIOA 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PA22 GPIO pull-up radio-power */
-+ AT91_PIOA 22 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PA22 GPIO pull-up radio-reset */
-+ };
-+ };
+ };
+
-+ usart0: serial@f801c000 {
-+ status = "disabled";
-+ };
-+
+ rtc@fffffeb0 {
+ status = "okay";
+ };
@@ -134,10 +135,22 @@ diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/mtr.dts linux-4.9.87/arch/arm/boo
+ dbgu: serial@fffff200 {
+ status = "okay";
+ };
++
++ spi@f0000000 {
++ /delete-node/ m25p80@0;
++ };
++
++ /delete-node/ serial@f801c000;
+
+ uart0: serial@f8040000 {
+ status = "okay";
++ atmel,use-dma-rx;
++ atmel,use-dma-tx;
++ 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";
+ };
++
+ usb2: gadget@f803c000 {
+ atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
+ status = "okay";
@@ -212,7 +225,7 @@ diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/mtr.dts linux-4.9.87/arch/arm/boo
+ usb1: ehci@00700000 {
+ status = "okay";
+ };
-+ };
++ };
+
+ leds {
+ compatible = "gpio-leds";
@@ -263,6 +276,12 @@ diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/mtr.dts linux-4.9.87/arch/arm/boo
+ pinctrl-0 = <&pinctrl_1wire_cm>;
+ status = "okay";
+ };
++ mts-io-0 {
++ status = "okay";
++ compatible = "mts,mts-io";
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_mts_io>;
++ };
+};
diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/at91sam9x5cm.dtsi linux-4.9.87/arch/arm/boot/dts/at91sam9x5cm.dtsi
--- linux-4.9.87.orig/arch/arm/boot/dts/at91sam9x5cm.dtsi 2019-01-03 15:21:25.339570341 -0600
@@ -460,7 +479,7 @@ diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/at91sam9x5.dtsi linux-4.9.87/arch
ssc0 = &ssc0;
pwm0 = &pwm0;
};
-@@ -963,54 +960,16 @@
+@@ -963,50 +960,7 @@
status = "disabled";
};
@@ -512,15 +531,6 @@ diff -Naru linux-4.9.87.orig/arch/arm/boot/dts/at91sam9x5.dtsi linux-4.9.87/arch
uart0: serial@f8040000 {
compatible = "atmel,at91sam9260-usart";
- reg = <0xf8040000 0x200>;
-+ atmel,use-dma-rx;
-+ atmel,use-dma-tx;
-+ 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";
- interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart0>;
diff --git a/arch/arm/boot/dts/at91sam9x5ek.dtsi b/arch/arm/boot/dts/at91sam9x5ek.dtsi
index d3fa60aa..0fcaa00a 100644
--- a/arch/arm/boot/dts/at91sam9x5ek.dtsi