From df21d61b75407f35600b6108563b1674ca24ee3d Mon Sep 17 00:00:00 2001 From: Mike Fiore Date: Mon, 15 Dec 2014 17:24:06 -0600 Subject: changes for building 3.19 kernel with complete DT Overlay support --- .../mtcdt/linux-3.19-mtcdt-device-tree.patch | 421 +++++++++++++++++++++ 1 file changed, 421 insertions(+) create mode 100644 recipes-kernel/linux/linux-3.19/mtcdt/linux-3.19-mtcdt-device-tree.patch (limited to 'recipes-kernel/linux/linux-3.19/mtcdt/linux-3.19-mtcdt-device-tree.patch') diff --git a/recipes-kernel/linux/linux-3.19/mtcdt/linux-3.19-mtcdt-device-tree.patch b/recipes-kernel/linux/linux-3.19/mtcdt/linux-3.19-mtcdt-device-tree.patch new file mode 100644 index 0000000..656757e --- /dev/null +++ b/recipes-kernel/linux/linux-3.19/mtcdt/linux-3.19-mtcdt-device-tree.patch @@ -0,0 +1,421 @@ +Index: git/arch/arm/boot/dts/mtcdt.dts +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/arch/arm/boot/dts/mtcdt.dts 2014-12-12 15:14:47.445364961 -0600 +@@ -0,0 +1,235 @@ ++/* ++ * DTS file for Multi-Tech Systems MTCDT Hardware ++ */ ++ ++/dts-v1/; ++#include "at91sam9g25.dtsi" ++#include "at91sam9x5ek.dtsi" ++ ++/ { ++ model = "Multi-Tech Systems MTCDT"; ++ compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; ++ ++ ahb { ++ apb { ++ macb0: ethernet@f802c000 { ++ phy-mode = "rmii"; ++ status = "okay"; ++ }; ++ ++ pinctrl@fffff400 { ++ nand { ++ pinctrl_nand: nand-0 { ++ atmel,pins = ++ ; /* PD13 periph A Data bit 7 */ ++ }; ++ ++ pinctrl_nand_16bits: nand_16bits-0 { ++ atmel,pins = ++ ; /* PD21 periph A Data bit 15 */ ++ }; ++ }; ++ ++ mmc1 { ++ pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 { ++ atmel,pins = ++ ; /* PA11 periph B with pullup */ ++ }; ++ ++ pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { ++ atmel,pins = ++ ; /* PA4 periph B with pullup */ ++ }; ++ }; ++ }; ++ ++ rtc@fffffeb0 { ++ status = "okay"; ++ }; ++ ++ i2c0: i2c@f8010000 { ++ compatible = "i2c-gpio"; ++ status = "okay"; ++ ++ id_eeprom@56 { ++ compatible = "atmel,24c04"; ++ reg = <0x56>; ++ pagesize = <16>; ++ }; ++ board_temp@48 { ++ compatible = "ti,tmp102"; ++ reg = <0x48>; ++ /* tempsensor_alert line running to pin PC19 on processor ++ set up an interrupt for this? */ ++ }; ++ }; ++ ++ i2c1: i2c@f8014000 { ++ compatible = "i2c-gpio"; ++ status = "okay"; ++ ++ ap1_eeprom@50 { ++ compatible = "atmel,24c04"; ++ reg = <0x50>; ++ pagesize = <16>; ++ }; ++ ap2_eeprom@52 { ++ compatible = "atmel,24c04"; ++ reg = <0x52>; ++ pagesize = <16>; ++ }; ++ }; ++ ++ /* runs to Accessory Port 1 */ ++ spi0: spi@f0000000 { ++ status = "disabled"; ++ cs-gpios = <&pioA 4 0>, <&pioA 2 0>, <&pioA 5 0>, <0>; ++ }; ++ ++ /* runs to Accessory Port 2 */ ++ spi1: spi@f0004000 { ++ status = "disabled"; ++ cs-gpios = <&pioC 15 0>, <&pioC 16 0>, <&pioC 18 0>, <0>; ++ }; ++ }; ++ ++ nand0: nand@40000000 { ++ reg = < 0x40000000 0x10000000 ++ 0xffffe000 0x600 /* PMECC Registers */ ++ 0xffffe600 0x200 /* PMECC Error Location Registers */ ++ 0x00100000 0x100000 /* PMECC looup table in ROM code */ ++ >; ++ atmel,pmecc-lookup-table-offset = <0x8000 0x10000>; ++ gpios = < &pioC 31 GPIO_ACTIVE_HIGH ++ &pioD 4 GPIO_ACTIVE_HIGH ++ 0 ++ >; ++ atmel,pmecc-cap = <4>; ++ atmel,nand-has-dma; ++ ++ nand@0 { ++ label = "NANDFlash"; ++ reg = <0x0 0x10000000>; ++ }; ++ at91bootstrap@0 { ++ label = "at91bootstrap"; ++ reg = <0x0 0x40000>; ++ }; ++ uboot@40000 { ++ label = "u-Boot"; ++ reg = <0x40000 0x80000>; ++ }; ++ 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>; ++ }; ++ config0@800000 { ++ label = "Config"; ++ reg = <0x800000 0x800000>; ++ }; ++ config1@1000000 { ++ label = "OEM Config"; ++ reg = <0x1000000 0x800000>; ++ }; ++ rootfs@1800000 { ++ label = "Rootfs"; ++ reg = <0x1800000 0xe800000>; ++ }; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ pa24 { ++ label = "led-status"; ++ gpios = <&pioA 24 GPIO_ACTIVE_LOW>; ++ linux,default-trigger = "default-on"; ++ }; ++ pa25 { ++ label = "led-a"; ++ gpios = <&pioA 25 GPIO_ACTIVE_LOW>; ++ }; ++ pa26 { ++ label = "led-b"; ++ gpios = <&pioA 26 GPIO_ACTIVE_LOW>; ++ }; ++ pa27 { ++ label = "led-c"; ++ gpios = <&pioA 27 GPIO_ACTIVE_LOW>; ++ }; ++ pa28 { ++ label = "led-d"; ++ gpios = <&pioA 28 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++ ++ /* GPS-PPS input on AP1 */ ++ pps { ++ compatible = "pps-gpio"; ++ gpios = <&pioA 29 0>; ++ }; ++ ++ ++ i2c@0 { ++ status = "okay"; ++ ++ id_eeprom@56 { ++ compatible = "atmel,24c04"; ++ reg = <0x56>; ++ pagesize = <16>; ++ }; ++ board_temp@48 { ++ compatible = "ti,tmp102"; ++ reg = <0x48>; ++ /* tempsensor_alert line running to pin PC19 on processor ++ set up an interrupt for this? */ ++ }; ++ }; ++ i2c@1 { ++ status = "okay"; ++ ++ ap1_eeprom@50 { ++ compatible = "atmel,24c04"; ++ reg = <0x50>; ++ pagesize = <16>; ++ }; ++ ap2_eeprom@52 { ++ compatible = "atmel,24c04"; ++ reg = <0x52>; ++ pagesize = <16>; ++ }; ++ }; ++}; +Index: git/arch/arm/boot/dts/at91sam9x5cm.dtsi +=================================================================== +--- git.orig/arch/arm/boot/dts/at91sam9x5cm.dtsi 2014-12-12 14:11:28.425420106 -0600 ++++ git/arch/arm/boot/dts/at91sam9x5cm.dtsi 2014-12-12 14:11:32.593420046 -0600 +@@ -50,48 +50,8 @@ + atmel,has-pmecc; /* Enable PMECC */ + atmel,pmecc-cap = <2>; + atmel,pmecc-sector-size = <512>; +- nand-on-flash-bbt; ++ /* nand-on-flash-bbt; */ + status = "okay"; +- +- at91bootstrap@0 { +- label = "at91bootstrap"; +- reg = <0x0 0x40000>; +- }; +- +- uboot@40000 { +- label = "u-boot"; +- reg = <0x40000 0x80000>; +- }; +- +- ubootenv@c0000 { +- label = "U-Boot Env"; +- reg = <0xc0000 0x140000>; +- }; +- +- kernel@200000 { +- label = "kernel"; +- reg = <0x200000 0x600000>; +- }; +- +- rootfs@800000 { +- label = "rootfs"; +- reg = <0x800000 0x1f800000>; +- }; +- }; +- }; +- +- leds { +- compatible = "gpio-leds"; +- +- pb18 { +- label = "pb18"; +- gpios = <&pioB 18 GPIO_ACTIVE_LOW>; +- linux,default-trigger = "heartbeat"; +- }; +- +- pd21 { +- label = "pd21"; +- gpios = <&pioD 21 GPIO_ACTIVE_HIGH>; + }; + }; + +@@ -103,5 +63,4 @@ + pinctrl-0 = <&pinctrl_1wire_cm>; + status = "okay"; + }; +- + }; +Index: git/arch/arm/boot/dts/at91sam9x5ek.dtsi +=================================================================== +--- git.orig/arch/arm/boot/dts/at91sam9x5ek.dtsi 2014-12-12 14:11:28.425420106 -0600 ++++ git/arch/arm/boot/dts/at91sam9x5ek.dtsi 2014-12-12 15:19:51.077360554 -0600 +@@ -24,23 +24,11 @@ + &pinctrl_mmc0_slot0_clk_cmd_dat0 + &pinctrl_mmc0_slot0_dat1_3>; + status = "okay"; ++ /* external micro SD slot */ + slot@0 { + reg = <0>; + bus-width = <4>; +- cd-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>; +- }; +- }; +- +- mmc1: mmc@f000c000 { +- pinctrl-0 = < +- &pinctrl_board_mmc1 +- &pinctrl_mmc1_slot0_clk_cmd_dat0 +- &pinctrl_mmc1_slot0_dat1_3>; +- status = "okay"; +- slot@0 { +- reg = <0>; +- bus-width = <4>; +- cd-gpios = <&pioD 14 GPIO_ACTIVE_HIGH>; ++ cd-gpios = <&pioA 1 GPIO_ACTIVE_HIGH>; + }; + }; + +@@ -48,24 +36,15 @@ + status = "okay"; + }; + +- usart0: serial@f801c000 { ++ uart0: serial@f8040000 { + status = "okay"; + }; + + usb2: gadget@f803c000 { +- atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>; ++ /* atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>; mtcdt: no vbus-gpio */ + status = "okay"; + }; + +- i2c0: i2c@f8010000 { +- status = "okay"; +- +- wm8731: wm8731@1a { +- compatible = "wm8731"; +- reg = <0x1a>; +- }; +- }; +- + pinctrl@fffff400 { + mmc0 { + pinctrl_board_mmc0: mmc0-board { +@@ -82,16 +61,6 @@ + }; + }; + +- spi0: spi@f0000000 { +- status = "okay"; +- cs-gpios = <&pioA 14 0>, <0>, <0>, <0>; +- m25p80@0 { +- compatible = "atmel,at25df321a"; +- spi-max-frequency = <50000000>; +- reg = <0>; +- }; +- }; +- + watchdog@fffffe40 { + status = "okay"; + }; +@@ -104,29 +73,15 @@ + usb0: ohci@00600000 { + status = "okay"; + 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 ++ // >; + }; + + usb1: ehci@00700000 { + status = "okay"; + }; + }; +- +- 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>; +- }; + }; +Index: git/arch/arm/boot/dts/Makefile +=================================================================== +--- git.orig/arch/arm/boot/dts/Makefile 2014-12-12 14:11:28.421420106 -0600 ++++ git/arch/arm/boot/dts/Makefile 2014-12-12 14:11:32.593420046 -0600 +@@ -41,6 +41,7 @@ + dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb + dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb + dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb ++dtb-$(CONFIG_ARCH_AT91) += mtcdt.dtb + # sama5d3 + dtb-$(CONFIG_ARCH_AT91) += at91-sama5d3_xplained.dtb + dtb-$(CONFIG_ARCH_AT91) += sama5d31ek.dtb -- cgit v1.2.3