Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: nomadik: device tree for NHK15 board

This adds a device tree for the Nomadik NHK15 development kit
board.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

+160 -1
+6
Documentation/devicetree/bindings/arm/ste-nomadik.txt
··· 10 10 11 11 Boards with the Nomadik SoC include: 12 12 13 + Nomadik NHK-15 board manufactured by ST Microelectronics: 14 + 15 + Required root node property: 16 + 17 + compatible="st,nomadik-nhk-15"; 18 + 13 19 S8815 "MiniKit" manufactured by Calao Systems: 14 20 15 21 Required root node property:
+2 -1
arch/arm/boot/dts/Makefile
··· 274 274 imx28-m28evk.dtb \ 275 275 imx28-sps1.dtb \ 276 276 imx28-tx28.dtb 277 - dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb 277 + dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb \ 278 + ste-nomadik-nhk15.dtb 278 279 dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \ 279 280 nspire-tp.dtb \ 280 281 nspire-clp.dtb
+151
arch/arm/boot/dts/ste-nomadik-nhk15.dts
··· 1 + /* 2 + * Device Tree for the ST-Ericsson Nomadik S8815 board 3 + * Produced by Calao Systems 4 + */ 5 + 6 + /dts-v1/; 7 + #include <dt-bindings/interrupt-controller/irq.h> 8 + #include <dt-bindings/gpio/gpio.h> 9 + #include "ste-nomadik-stn8815.dtsi" 10 + 11 + / { 12 + model = "Nomadik STN8815NHK"; 13 + compatible = "st,nomadik-nhk-15"; 14 + 15 + chosen { 16 + bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; 17 + }; 18 + 19 + aliases { 20 + stmpe-i2c0 = &stmpe0; 21 + stmpe-i2c1 = &stmpe1; 22 + }; 23 + 24 + pinctrl { 25 + stmpe2401_1 { 26 + stmpe2401_1_nhk_mode: stmpe2401_1_nhk { 27 + nhk_cfg1 { 28 + ste,pins = "GPIO76_B20"; // IRQ line 29 + ste,input = <0>; 30 + }; 31 + nhk_cfg2 { 32 + ste,pins = "GPIO77_B8"; // reset line 33 + ste,output = <1>; 34 + }; 35 + }; 36 + }; 37 + stmpe2401_2 { 38 + stmpe2401_2_nhk_mode: stmpe2401_2_nhk { 39 + nhk_cfg1 { 40 + ste,pins = "GPIO78_A8"; // IRQ line 41 + ste,input = <0>; 42 + }; 43 + nhk_cfg2 { 44 + ste,pins = "GPIO79_C9"; // reset line 45 + ste,output = <1>; 46 + }; 47 + }; 48 + }; 49 + }; 50 + 51 + src@101e0000 { 52 + /* These chrystal outputs are not used on this board */ 53 + disable-sxtalo; 54 + disable-mxtalo; 55 + }; 56 + 57 + /* This is where the interrupt is routed on the NHK-15 debug board */ 58 + external-bus@34000000 { 59 + compatible = "simple-bus"; 60 + reg = <0x34000000 0x1000000>; 61 + #address-cells = <1>; 62 + #size-cells = <1>; 63 + ranges = <0 0x34000000 0x1000000>; 64 + ethernet@300 { 65 + compatible = "smsc,lan91c111"; 66 + reg = <0x300 0x0fd00>; 67 + reg-io-width = <2>; 68 + reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>; 69 + interrupt-parent = <&stmpe_gpio44>; 70 + interrupts = <11 IRQ_TYPE_EDGE_RISING>; 71 + }; 72 + }; 73 + 74 + i2c0 { 75 + stmpe0: stmpe2401@43 { 76 + compatible = "st,stmpe2401"; 77 + reg = <0x43>; 78 + reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77 79 + interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76 80 + interrupt-parent = <&gpio2>; 81 + interrupt-controller; 82 + wakeup-source; 83 + pinctrl-names = "default"; 84 + pinctrl-0 = <&stmpe2401_1_nhk_mode>; 85 + stmpe_gpio43: stmpe_gpio { 86 + compatible = "st,stmpe-gpio"; 87 + gpio-controller; 88 + #gpio-cells = <2>; 89 + interrupt-controller; 90 + #interrupt-cells = <2>; 91 + /* Some pins in alternate functions */ 92 + st,norequest-mask = <0xf0f002>; 93 + }; 94 + stmpe_keypad { 95 + compatible = "st,stmpe-keypad"; 96 + debounce-interval = <64>; 97 + st,scan-count = <8>; 98 + st,no-autorepeat; 99 + keypad,num-rows = <8>; 100 + keypad,num-columns = <8>; 101 + linux,keymap = <0x00020072 // Vol down 102 + 0x00030073 // Vol up 103 + 0x0100009e // Back 104 + 0x010100e3 // TV out 105 + 0x01020098 // Lock 106 + 0x0103013b // Start 107 + 0x020000a3 // Next 108 + 0x020100a4 // Play 109 + 0x020200a5 // Prev 110 + 0x02030160 // OK 111 + 0x03000069 // Left 112 + 0x0301006a // Right 113 + 0x03020067 // Up 114 + 0x0303006c>; // Down 115 + }; 116 + }; 117 + stmpe1: stmpe2401@44 { 118 + compatible = "st,stmpe2401"; 119 + reg = <0x44>; 120 + reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79 121 + interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78 122 + interrupt-parent = <&gpio2>; 123 + interrupt-controller; 124 + wakeup-source; 125 + pinctrl-names = "default"; 126 + pinctrl-0 = <&stmpe2401_2_nhk_mode>; 127 + stmpe_gpio44: stmpe_gpio { 128 + compatible = "st,stmpe-gpio"; 129 + gpio-controller; 130 + #gpio-cells = <2>; 131 + interrupt-controller; 132 + #interrupt-cells = <2>; 133 + }; 134 + }; 135 + }; 136 + 137 + amba { 138 + mmcsd: sdi@101f6000 { 139 + cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>; 140 + wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>; 141 + }; 142 + }; 143 + 144 + /* Custom board node with GPIO pins to active etc */ 145 + usb-s8815 { 146 + /* This will turn off SATA so that MMC/SD can thrive */ 147 + mmcsd-gpio { 148 + gpios = <&stmpe_gpio44 2 0x1>; 149 + }; 150 + }; 151 + };
+1
arch/arm/mach-nomadik/cpu-8815.c
··· 144 144 device_initcall(cpu8815_mmcsd_init); 145 145 146 146 static const char * cpu8815_board_compat[] = { 147 + "st,nomadik-nhk-15", 147 148 "calaosystems,usb-s8815", 148 149 NULL, 149 150 };