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

Merge tag 'mvebu-dt-4.4-2' of git://git.infradead.org/linux-mvebu into next/dt

mvebu dt for 4.4 (part 2)

- Add support for severals Armada-370-based Seagate NAS
- Fix Ready NAS device tree
- Modify SDHCI binding for A388-GP allowing using it on old and new
version of the board

* tag 'mvebu-dt-4.4-2' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: set SW polling as SDHCI card detection on A388-GP
arm: mvebu: reorder nodes under internal-regs by address in RN2120 .dts file
arm: mvebu: disable unused Armada RTC on ReadyNAS 102, 104 and 2120
ARM: mvebu: add DT support for Seagate Personal Cloud
ARM: mvebu: add DT support for Seagate NAS 2 and 4-Bay

Signed-off-by: Olof Johansson <olof@lixom.net>

+742 -41
+4
arch/arm/boot/dts/Makefile
··· 723 723 armada-370-netgear-rn102.dtb \ 724 724 armada-370-netgear-rn104.dtb \ 725 725 armada-370-rd.dtb \ 726 + armada-370-seagate-nas-2bay.dtb \ 727 + armada-370-seagate-nas-4bay.dtb \ 728 + armada-370-seagate-personal-cloud.dtb \ 729 + armada-370-seagate-personal-cloud-2bay.dtb \ 726 730 armada-370-synology-ds213j.dtb 727 731 dtb-$(CONFIG_MACH_ARMADA_375) += \ 728 732 armada-375-db.dtb
+6
arch/arm/boot/dts/armada-370-netgear-rn102.dts
··· 83 83 }; 84 84 85 85 internal-regs { 86 + 87 + /* RTC is provided by Intersil ISL12057 I2C RTC chip */ 88 + rtc@10300 { 89 + status = "disabled"; 90 + }; 91 + 86 92 serial@12000 { 87 93 status = "okay"; 88 94 };
+6
arch/arm/boot/dts/armada-370-netgear-rn104.dts
··· 83 83 }; 84 84 85 85 internal-regs { 86 + 87 + /* RTC is provided by Intersil ISL12057 I2C RTC chip */ 88 + rtc@10300 { 89 + status = "disabled"; 90 + }; 91 + 86 92 serial@12000 { 87 93 status = "okay"; 88 94 };
+36
arch/arm/boot/dts/armada-370-seagate-nas-2bay.dts
··· 1 + /* 2 + * Device Tree file for Seagate NAS 2-Bay (Armada 370 SoC). 3 + * 4 + * Copyright (C) 2015 Seagate 5 + * 6 + * Author: Vincent Donnefort <vdonnefort@gmail.com> 7 + * 8 + * This file is licensed under the terms of the GNU General Public 9 + * License version 2. This program is licensed "as is" without any 10 + * warranty of any kind, whether express or implied. 11 + */ 12 + 13 + /* 14 + * Here are some information allowing to identify the device: 15 + * 16 + * Product name : Seagate NAS 2-Bay 17 + * Code name (board/PCB) : Dart 2-Bay 18 + * Model name (case sticker) : SRPD20 19 + * Material desc (product spec) : STCTxxxxxxx 20 + */ 21 + 22 + /dts-v1/; 23 + #include "armada-370-seagate-nas-xbay.dtsi" 24 + 25 + / { 26 + model = "Seagate NAS 2-Bay (Dart, SRPD20)"; 27 + compatible = "seagate,dart-2", "marvell,armada370", "marvell,armada-370-xp"; 28 + 29 + gpio-fan { 30 + gpio-fan,speed-map = 31 + < 0 3 32 + 950 2 33 + 1400 1 34 + 1800 0>; 35 + }; 36 + };
+133
arch/arm/boot/dts/armada-370-seagate-nas-4bay.dts
··· 1 + /* 2 + * Device Tree file for Seagate NAS 4-Bay (Armada 370 SoC). 3 + * 4 + * Copyright (C) 2015 Seagate 5 + * 6 + * Author: Vincent Donnefort <vdonnefort@gmail.com> 7 + * 8 + * This file is licensed under the terms of the GNU General Public 9 + * License version 2. This program is licensed "as is" without any 10 + * warranty of any kind, whether express or implied. 11 + */ 12 + 13 + /* 14 + * Here are some information allowing to identify the device: 15 + * 16 + * Product name : Seagate NAS 4-Bay 17 + * Code name (board/PCB) : Dart 4-Bay 18 + * Model name (case sticker) : SRPD40 19 + * Material desc (product spec) : STCUxxxxxxx 20 + */ 21 + 22 + /dts-v1/; 23 + #include "armada-370-seagate-nas-xbay.dtsi" 24 + #include <dt-bindings/leds/leds-ns2.h> 25 + 26 + / { 27 + model = "Seagate NAS 4-Bay (Dart, SRPD40)"; 28 + compatible = "seagate,dart-4", "marvell,armada370", "marvell,armada-370-xp"; 29 + 30 + soc { 31 + pcie-controller { 32 + /* SATA AHCI controller 88SE9170 */ 33 + pcie@1,0 { 34 + status = "okay"; 35 + }; 36 + }; 37 + 38 + internal-regs { 39 + mdio { 40 + phy1: ethernet-phy@1 { 41 + reg = <1>; 42 + }; 43 + }; 44 + 45 + ethernet@74000 { 46 + status = "okay"; 47 + pinctrl-0 = <&ge1_rgmii_pins>; 48 + pinctrl-names = "default"; 49 + phy = <&phy1>; 50 + phy-mode = "rgmii-id"; 51 + }; 52 + 53 + i2c@11000 { 54 + /* I2C GPIO expander (PCA9554A) */ 55 + pca9554: pca9554@21 { 56 + compatible = "nxp,pca9554"; 57 + reg = <0x21>; 58 + #gpio-cells = <2>; 59 + gpio-controller; 60 + }; 61 + }; 62 + }; 63 + }; 64 + 65 + regulators { 66 + regulator@3 { 67 + compatible = "regulator-fixed"; 68 + reg = <3>; 69 + regulator-name = "SATA2 power"; 70 + regulator-min-microvolt = <5000000>; 71 + regulator-max-microvolt = <5000000>; 72 + enable-active-high; 73 + regulator-always-on; 74 + regulator-boot-on; 75 + gpio = <&pca9554 6 GPIO_ACTIVE_HIGH>; 76 + }; 77 + regulator@4 { 78 + compatible = "regulator-fixed"; 79 + reg = <4>; 80 + regulator-name = "SATA3 power"; 81 + regulator-min-microvolt = <5000000>; 82 + regulator-max-microvolt = <5000000>; 83 + enable-active-high; 84 + regulator-always-on; 85 + regulator-boot-on; 86 + gpio = <&pca9554 7 GPIO_ACTIVE_HIGH>; 87 + }; 88 + }; 89 + 90 + gpio-leds { 91 + red-sata2 { 92 + label = "dart:red:sata2"; 93 + gpios = <&pca9554 0 GPIO_ACTIVE_LOW>; 94 + }; 95 + red-sata3 { 96 + label = "dart:red:sata3"; 97 + gpios = <&pca9554 3 GPIO_ACTIVE_LOW>; 98 + }; 99 + }; 100 + 101 + leds-ns2 { 102 + compatible = "lacie,ns2-leds"; 103 + 104 + white-sata2 { 105 + label = "dart:white:sata2"; 106 + cmd-gpio = <&pca9554 1 GPIO_ACTIVE_HIGH>; 107 + slow-gpio = <&pca9554 2 GPIO_ACTIVE_HIGH>; 108 + num-modes = <4>; 109 + modes-map = <NS_V2_LED_SATA 0 0 110 + NS_V2_LED_OFF 0 1 111 + NS_V2_LED_ON 1 0 112 + NS_V2_LED_ON 1 1>; 113 + }; 114 + white-sata3 { 115 + label = "dart:white:sata3"; 116 + cmd-gpio = <&pca9554 4 GPIO_ACTIVE_HIGH>; 117 + slow-gpio = <&pca9554 5 GPIO_ACTIVE_HIGH>; 118 + num-modes = <4>; 119 + modes-map = <NS_V2_LED_SATA 0 0 120 + NS_V2_LED_OFF 0 1 121 + NS_V2_LED_ON 1 0 122 + NS_V2_LED_ON 1 1>; 123 + }; 124 + }; 125 + 126 + gpio-fan { 127 + gpio-fan,speed-map = 128 + < 0 3 129 + 800 2 130 + 1050 1 131 + 1300 0>; 132 + }; 133 + };
+231
arch/arm/boot/dts/armada-370-seagate-nas-xbay.dtsi
··· 1 + /* 2 + * Device Tree common file for the Seagate NAS 2 and 4-bay (Armada 370 SoC). 3 + * 4 + * Copyright (C) 2015 Seagate 5 + * 6 + * Author: Vincent Donnefort <vdonnefort@gmail.com> 7 + * 8 + * This file is licensed under the terms of the GNU General Public 9 + * License version 2. This program is licensed "as is" without any 10 + * warranty of any kind, whether express or implied. 11 + */ 12 + 13 + /* 14 + * TODO: add support for the white SATA LEDs associated with HDD 0 and 1. 15 + */ 16 + 17 + #include "armada-370.dtsi" 18 + #include <dt-bindings/gpio/gpio.h> 19 + #include <dt-bindings/input/input.h> 20 + 21 + / { 22 + chosen { 23 + stdout-path = "serial0:115200n8"; 24 + }; 25 + 26 + memory { 27 + device_type = "memory"; 28 + reg = <0x00000000 0x20000000>; /* 512 MB */ 29 + }; 30 + 31 + soc { 32 + ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 33 + MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>; 34 + 35 + pcie-controller { 36 + status = "okay"; 37 + 38 + /* USB 3.0 bridge ASM1042A */ 39 + pcie@2,0 { 40 + status = "okay"; 41 + }; 42 + }; 43 + 44 + internal-regs { 45 + serial@12000 { 46 + status = "okay"; 47 + }; 48 + 49 + sata@a0000 { 50 + nr-ports = <2>; 51 + status = "okay"; 52 + }; 53 + 54 + mdio { 55 + pinctrl-0 = <&mdio_pins>; 56 + pinctrl-names = "default"; 57 + 58 + phy0: ethernet-phy@0 { 59 + reg = <0>; 60 + }; 61 + }; 62 + 63 + ethernet@70000 { 64 + status = "okay"; 65 + pinctrl-0 = <&ge0_rgmii_pins>; 66 + pinctrl-names = "default"; 67 + phy = <&phy0>; 68 + phy-mode = "rgmii-id"; 69 + }; 70 + 71 + i2c@11000 { 72 + status = "okay"; 73 + pinctrl-0 = <&i2c0_pins>; 74 + pinctrl-names = "default"; 75 + clock-frequency = <100000>; 76 + 77 + /* RTC - NXP 8563T (second source) */ 78 + rtc@51 { 79 + compatible = "nxp,pcf8563"; 80 + reg = <0x51>; 81 + interrupts = <110>; 82 + }; 83 + /* RTC - MCP7940NT */ 84 + rtc@6f { 85 + compatible = "microchip,mcp7941x"; 86 + reg = <0x6f>; 87 + interrupts = <110>; 88 + }; 89 + }; 90 + 91 + nand@d0000 { 92 + status = "okay"; 93 + num-cs = <1>; 94 + marvell,nand-keep-config; 95 + marvell,nand-enable-arbiter; 96 + nand-on-flash-bbt; 97 + nand-ecc-strength = <4>; 98 + nand-ecc-step-size = <512>; 99 + 100 + partition@0 { 101 + label = "u-boot"; 102 + reg = <0x0 0x300000>; 103 + }; 104 + partition@300000 { 105 + label = "device-tree"; 106 + reg = <0x300000 0x20000>; 107 + }; 108 + partition@320000 { 109 + label = "linux"; 110 + reg = <0x320000 0x2000000>; 111 + }; 112 + partition@2320000 { 113 + label = "rootfs"; 114 + reg = <0x2320000 0xdce0000>; 115 + }; 116 + }; 117 + }; 118 + 119 + }; 120 + 121 + regulators { 122 + compatible = "simple-bus"; 123 + #address-cells = <1>; 124 + #size-cells = <0>; 125 + pinctrl-names = "default"; 126 + 127 + regulator@1 { 128 + compatible = "regulator-fixed"; 129 + reg = <1>; 130 + regulator-name = "SATA0 power"; 131 + regulator-min-microvolt = <5000000>; 132 + regulator-max-microvolt = <5000000>; 133 + enable-active-high; 134 + regulator-always-on; 135 + regulator-boot-on; 136 + gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>; 137 + }; 138 + regulator@2 { 139 + compatible = "regulator-fixed"; 140 + reg = <2>; 141 + regulator-name = "SATA1 power"; 142 + regulator-min-microvolt = <5000000>; 143 + regulator-max-microvolt = <5000000>; 144 + enable-active-high; 145 + regulator-always-on; 146 + regulator-boot-on; 147 + gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>; 148 + }; 149 + }; 150 + 151 + gpio-fan { 152 + compatible = "gpio-fan"; 153 + gpios = <&gpio2 0 GPIO_ACTIVE_HIGH 154 + &gpio2 1 GPIO_ACTIVE_HIGH>; 155 + }; 156 + 157 + gpio-keys { 158 + compatible = "gpio-keys"; 159 + #address-cells = <1>; 160 + #size-cells = <0>; 161 + 162 + button@1 { 163 + label = "Power button"; 164 + linux,code = <KEY_POWER>; 165 + gpios = <&gpio1 19 GPIO_ACTIVE_LOW>; 166 + debounce-interval = <100>; 167 + }; 168 + button@2 { 169 + label = "Backup button"; 170 + linux,code = <KEY_OPTION>; 171 + gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; 172 + debounce-interval = <100>; 173 + }; 174 + button@3 { 175 + label = "Reset Button"; 176 + linux,code = <KEY_RESTART>; 177 + gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; 178 + debounce-interval = <100>; 179 + }; 180 + }; 181 + 182 + gpio-leds { 183 + compatible = "gpio-leds"; 184 + 185 + white-power { 186 + label = "dart:white:power"; 187 + gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; 188 + linux,default-trigger = "timer"; 189 + 190 + }; 191 + red-power { 192 + label = "dart:red:power"; 193 + gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>; 194 + }; 195 + red-sata0 { 196 + label = "dart:red:sata0"; 197 + gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; 198 + }; 199 + red-sata1 { 200 + label = "dart:red:sata1"; 201 + gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; 202 + }; 203 + }; 204 + 205 + gpio_poweroff { 206 + compatible = "gpio-poweroff"; 207 + gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; 208 + }; 209 + }; 210 + 211 + &pinctrl { 212 + pinctrl-0 = <&hdd0_led_sata_pin>, <&hdd1_led_sata_pin>; 213 + pinctrl-names = "default"; 214 + 215 + hdd0_led_sata_pin: hdd0-led-sata-pin { 216 + marvell,pins = "mpp48"; 217 + marvell,function = "sata1"; 218 + }; 219 + hdd0_led_gpio_pin: hdd0-led-gpio-pin { 220 + marvell,pins = "mpp48"; 221 + marvell,function = "gpio"; 222 + }; 223 + hdd1_led_sata_pin: hdd1-led-sata-pin { 224 + marvell,pins = "mpp57"; 225 + marvell,function = "sata0"; 226 + }; 227 + hdd1_led_gpio_pin: hdd1-led-gpio-pin { 228 + marvell,pins = "mpp57"; 229 + marvell,function = "gpio"; 230 + }; 231 + };
+51
arch/arm/boot/dts/armada-370-seagate-personal-cloud-2bay.dts
··· 1 + /* 2 + * Device Tree file for Seagate Personal Cloud NAS 2-Bay (Armada 370 SoC). 3 + * 4 + * Copyright (C) 2015 Seagate 5 + * 6 + * Author: Simon Guinot <simon.guinot@sequanux.org> 7 + * 8 + * This file is licensed under the terms of the GNU General Public 9 + * License version 2. This program is licensed "as is" without any 10 + * warranty of any kind, whether express or implied. 11 + */ 12 + 13 + /* 14 + * Here are some information allowing to identify the device: 15 + * 16 + * Product name : Seagate Personal Cloud 2-Bay 17 + * Code name (board/PCB) : Cumulus Max 18 + * Model name (case sticker) : SRN22C 19 + * Material desc (product spec) : STCSxxxxxxx 20 + */ 21 + 22 + /dts-v1/; 23 + #include "armada-370-seagate-personal-cloud.dtsi" 24 + 25 + / { 26 + model = "Seagate Personal Cloud 2-Bay (Cumulus, SRN22C)"; 27 + compatible = "seagate,cumulus-max", "marvell,armada370", "marvell,armada-370-xp"; 28 + 29 + soc { 30 + internal-regs { 31 + sata@a0000 { 32 + status = "okay"; 33 + nr-ports = <2>; 34 + }; 35 + }; 36 + }; 37 + 38 + regulators { 39 + regulator@2 { 40 + compatible = "regulator-fixed"; 41 + reg = <2>; 42 + regulator-name = "SATA1 power"; 43 + regulator-min-microvolt = <5000000>; 44 + regulator-max-microvolt = <5000000>; 45 + enable-active-high; 46 + regulator-always-on; 47 + regulator-boot-on; 48 + gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>; 49 + }; 50 + }; 51 + };
+37
arch/arm/boot/dts/armada-370-seagate-personal-cloud.dts
··· 1 + /* 2 + * Device Tree file for Seagate Personal Cloud NAS (Armada 370 SoC). 3 + * 4 + * Copyright (C) 2015 Seagate 5 + * 6 + * Author: Simon Guinot <simon.guinot@sequanux.org> 7 + * 8 + * This file is licensed under the terms of the GNU General Public 9 + * License version 2. This program is licensed "as is" without any 10 + * warranty of any kind, whether express or implied. 11 + */ 12 + 13 + /* 14 + * Here are some information allowing to identify the device: 15 + * 16 + * Product name : Seagate Personal Cloud 17 + * Code name (board/PCB) : Cumulus 18 + * Model name (case sticker) : SRN21C 19 + * Material desc (product spec) : STCRxxxxxxx 20 + */ 21 + 22 + /dts-v1/; 23 + #include "armada-370-seagate-personal-cloud.dtsi" 24 + 25 + / { 26 + model = "Seagate Personal Cloud (Cumulus, SRN21C)"; 27 + compatible = "seagate,cumulus", "marvell,armada370", "marvell,armada-370-xp"; 28 + 29 + soc { 30 + internal-regs { 31 + sata@a0000 { 32 + status = "okay"; 33 + nr-ports = <1>; 34 + }; 35 + }; 36 + }; 37 + };
+178
arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
··· 1 + /* 2 + * Device Tree common file for the Seagate Personal Cloud NAS 1 and 2-Bay 3 + * (Armada 370 SoC). 4 + * 5 + * Copyright (C) 2015 Seagate 6 + * 7 + * Author: Simon Guinot <simon.guinot@sequanux.org> 8 + * 9 + * This file is licensed under the terms of the GNU General Public 10 + * License version 2. This program is licensed "as is" without any 11 + * warranty of any kind, whether express or implied. 12 + */ 13 + 14 + /* 15 + * TODO: add support for the white SATA LED. 16 + */ 17 + 18 + #include "armada-370.dtsi" 19 + #include <dt-bindings/gpio/gpio.h> 20 + #include <dt-bindings/input/input.h> 21 + 22 + / { 23 + chosen { 24 + stdout-path = "serial0:115200n8"; 25 + }; 26 + 27 + memory { 28 + device_type = "memory"; 29 + reg = <0x00000000 0x20000000>; /* 512 MB */ 30 + }; 31 + 32 + soc { 33 + ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 34 + MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>; 35 + 36 + pcie-controller { 37 + status = "okay"; 38 + 39 + /* USB 3.0 Bridge ASM1042A */ 40 + pcie@1,0 { 41 + status = "okay"; 42 + }; 43 + }; 44 + 45 + internal-regs { 46 + coherency-fabric@20200 { 47 + broken-idle; 48 + }; 49 + 50 + serial@12000 { 51 + status = "okay"; 52 + }; 53 + 54 + mdio { 55 + pinctrl-0 = <&mdio_pins>; 56 + pinctrl-names = "default"; 57 + 58 + phy0: ethernet-phy@0 { 59 + reg = <0>; 60 + }; 61 + }; 62 + 63 + ethernet@74000 { 64 + status = "okay"; 65 + pinctrl-0 = <&ge1_rgmii_pins>; 66 + pinctrl-names = "default"; 67 + phy = <&phy0>; 68 + phy-mode = "rgmii-id"; 69 + }; 70 + 71 + spi@10600 { 72 + status = "okay"; 73 + pinctrl-0 = <&spi0_pins2>; 74 + pinctrl-names = "default"; 75 + 76 + spi-flash@0 { 77 + #address-cells = <1>; 78 + #size-cells = <1>; 79 + /* MX25L8006E */ 80 + compatible = "mxicy,mx25l8005", "jedec,spi-nor"; 81 + reg = <0>; /* Chip select 0 */ 82 + spi-max-frequency = <50000000>; 83 + 84 + partition@0 { 85 + label = "u-boot"; 86 + reg = <0x0 0x100000>; 87 + }; 88 + }; 89 + }; 90 + 91 + usb@50000 { 92 + status = "okay"; 93 + }; 94 + }; 95 + }; 96 + 97 + regulators { 98 + compatible = "simple-bus"; 99 + #address-cells = <1>; 100 + #size-cells = <0>; 101 + 102 + regulator@0 { 103 + compatible = "regulator-fixed"; 104 + reg = <0>; 105 + regulator-name = "USB Power"; 106 + regulator-min-microvolt = <5000000>; 107 + regulator-max-microvolt = <5000000>; 108 + regulator-always-on; 109 + regulator-boot-on; 110 + gpio = <&gpio1 27 GPIO_ACTIVE_LOW>; 111 + }; 112 + regulator@1 { 113 + compatible = "regulator-fixed"; 114 + reg = <1>; 115 + regulator-name = "SATA0 power"; 116 + regulator-min-microvolt = <5000000>; 117 + regulator-max-microvolt = <5000000>; 118 + enable-active-high; 119 + regulator-always-on; 120 + regulator-boot-on; 121 + gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>; 122 + }; 123 + }; 124 + 125 + gpio-keys { 126 + compatible = "gpio-keys"; 127 + #address-cells = <1>; 128 + #size-cells = <0>; 129 + 130 + button@1 { 131 + label = "Power button"; 132 + linux,code = <KEY_POWER>; 133 + gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>; 134 + debounce-interval = <100>; 135 + }; 136 + button@2 { 137 + label = "Reset Button"; 138 + linux,code = <KEY_RESTART>; 139 + gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; 140 + debounce-interval = <100>; 141 + }; 142 + button@3 { 143 + label = "USB VBUS error"; 144 + linux,code = <KEY_UNKNOWN>; 145 + gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; 146 + debounce-interval = <100>; 147 + }; 148 + }; 149 + 150 + gpio-leds { 151 + compatible = "gpio-leds"; 152 + 153 + red-sata0 { 154 + label = "cumulus:red:sata0"; 155 + gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; 156 + default-state = "off"; 157 + }; 158 + }; 159 + 160 + gpio_poweroff { 161 + compatible = "gpio-poweroff"; 162 + gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>; 163 + }; 164 + }; 165 + 166 + &pinctrl { 167 + pinctrl-0 = <&sata_led_pin>; 168 + pinctrl-names = "default"; 169 + 170 + sata_led_pin: sata-led-pin { 171 + marvell,pins = "mpp60"; 172 + marvell,function = "sata0"; 173 + }; 174 + gpio_led_pin: gpio-led-pin { 175 + marvell,pins = "mpp60"; 176 + marvell,function = "gpio"; 177 + }; 178 + };
+14 -1
arch/arm/boot/dts/armada-388-gp.dts
··· 207 207 sdhci@d8000 { 208 208 pinctrl-names = "default"; 209 209 pinctrl-0 = <&sdhci_pins>; 210 - cd-gpios = <&expander0 5 GPIO_ACTIVE_LOW>; 211 210 no-1-8-v; 211 + /* 212 + * A388-GP board v1.5 and higher replace 213 + * hitherto card detection method based on GPIO 214 + * with the one using DAT3 pin. As they are 215 + * incompatible, software-based polling is 216 + * enabled with 'broken-cd' property. For boards 217 + * older than v1.5 it can be replaced with: 218 + * 'cd-gpios = <&expander0 5 GPIO_ACTIVE_LOW>;', 219 + * whereas for the newer ones following can be 220 + * used instead: 221 + * 'dat3-cd;' 222 + * 'cd-inverted;' 223 + */ 224 + broken-cd; 212 225 wp-inverted; 213 226 bus-width = <8>; 214 227 status = "okay";
+46 -40
arch/arm/boot/dts/armada-xp-netgear-rn2120.dts
··· 90 90 }; 91 91 92 92 internal-regs { 93 - /* Two rear eSATA ports */ 94 - sata@a0000 { 95 - nr-ports = <2>; 96 - status = "okay"; 97 - }; 98 93 99 - serial@12000 { 100 - status = "okay"; 101 - }; 102 - 103 - mdio { 104 - phy0: ethernet-phy@0 { /* Marvell 88E1318 */ 105 - reg = <0>; 106 - }; 107 - 108 - phy1: ethernet-phy@1 { /* Marvell 88E1318 */ 109 - reg = <1>; 110 - }; 111 - }; 112 - 113 - ethernet@70000 { 114 - status = "okay"; 115 - phy = <&phy0>; 116 - phy-mode = "rgmii-id"; 117 - }; 118 - 119 - ethernet@74000 { 120 - status = "okay"; 121 - phy = <&phy1>; 122 - phy-mode = "rgmii-id"; 123 - }; 124 - 125 - /* Front USB 2.0 port */ 126 - usb@50000 { 127 - status = "okay"; 94 + /* RTC is provided by Intersil ISL12057 I2C RTC chip */ 95 + rtc@10300 { 96 + status = "disabled"; 128 97 }; 129 98 130 99 i2c@11000 { 131 100 compatible = "marvell,mv64xxx-i2c"; 132 101 clock-frequency = <400000>; 133 102 status = "okay"; 134 - 135 - isl12057: isl12057@68 { 136 - compatible = "isil,isl12057"; 137 - reg = <0x68>; 138 - isil,irq2-can-wakeup-machine; 139 - }; 140 103 141 104 /* Controller for rear fan #1 of 3 (Protechnic 142 105 * MGT4012XB-O20, 8000RPM) near eSATA port */ ··· 137 174 compatible = "gmt,g751"; 138 175 reg = <0x4c>; 139 176 }; 177 + 178 + isl12057: isl12057@68 { 179 + compatible = "isil,isl12057"; 180 + reg = <0x68>; 181 + isil,irq2-can-wakeup-machine; 182 + }; 183 + }; 184 + 185 + serial@12000 { 186 + status = "okay"; 187 + }; 188 + 189 + /* Front USB 2.0 port */ 190 + usb@50000 { 191 + status = "okay"; 192 + }; 193 + 194 + mdio { 195 + phy0: ethernet-phy@0 { /* Marvell 88E1318 */ 196 + reg = <0>; 197 + }; 198 + 199 + phy1: ethernet-phy@1 { /* Marvell 88E1318 */ 200 + reg = <1>; 201 + }; 202 + }; 203 + 204 + ethernet@70000 { 205 + status = "okay"; 206 + phy = <&phy0>; 207 + phy-mode = "rgmii-id"; 208 + }; 209 + 210 + ethernet@74000 { 211 + status = "okay"; 212 + phy = <&phy1>; 213 + phy-mode = "rgmii-id"; 214 + }; 215 + 216 + /* Two rear eSATA ports */ 217 + sata@a0000 { 218 + nr-ports = <2>; 219 + status = "okay"; 140 220 }; 141 221 142 222 nand@d0000 {