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

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

Merge "mvebu dt for 4.11 (part 3)" from Gregory CLEMENT:

Add support for Marvell switches with integrated CPUs based on Armada XP

* tag 'mvebu-dt-4.11-3' of git://git.infradead.org/linux-mvebu:
ARM: dts: mvebu: Add device tree for db-dxbc2 and db-xc3-24g4xg boards
ARM: dts: mvebu: Add device tree for 98DX3236 SoCs

+788
+23
Documentation/devicetree/bindings/arm/marvell/98dx3236.txt
··· 1 + Marvell 98DX3236, 98DX3336 and 98DX4251 Platforms Device Tree Bindings 2 + ---------------------------------------------------------------------- 3 + 4 + Boards with a SoC of the Marvell 98DX3236, 98DX3336 and 98DX4251 families 5 + shall have the following property: 6 + 7 + Required root node property: 8 + 9 + compatible: must contain "marvell,armadaxp-98dx3236" 10 + 11 + In addition, boards using the Marvell 98DX3336 SoC shall have the 12 + following property: 13 + 14 + Required root node property: 15 + 16 + compatible: must contain "marvell,armadaxp-98dx3336" 17 + 18 + In addition, boards using the Marvell 98DX4251 SoC shall have the 19 + following property: 20 + 21 + Required root node property: 22 + 23 + compatible: must contain "marvell,armadaxp-98dx4251"
+50
Documentation/devicetree/bindings/net/marvell,prestera.txt
··· 1 + Marvell Prestera Switch Chip bindings 2 + ------------------------------------- 3 + 4 + Required properties: 5 + - compatible: one of the following 6 + "marvell,prestera-98dx3236", 7 + "marvell,prestera-98dx3336", 8 + "marvell,prestera-98dx4251", 9 + - reg: address and length of the register set for the device. 10 + - interrupts: interrupt for the device 11 + 12 + Optional properties: 13 + - dfx: phandle reference to the "DFX Server" node 14 + 15 + Example: 16 + 17 + switch { 18 + compatible = "simple-bus"; 19 + #address-cells = <1>; 20 + #size-cells = <1>; 21 + ranges = <0 MBUS_ID(0x03, 0x00) 0 0x100000>; 22 + 23 + packet-processor@0 { 24 + compatible = "marvell,prestera-98dx3236"; 25 + reg = <0 0x4000000>; 26 + interrupts = <33>, <34>, <35>; 27 + dfx = <&dfx>; 28 + }; 29 + }; 30 + 31 + DFX Server bindings 32 + ------------------- 33 + 34 + Required properties: 35 + - compatible: must be "marvell,dfx-server" 36 + - reg: address and length of the register set for the device. 37 + 38 + Example: 39 + 40 + dfx-registers { 41 + compatible = "simple-bus"; 42 + #address-cells = <1>; 43 + #size-cells = <1>; 44 + ranges = <0 MBUS_ID(0x08, 0x00) 0 0x100000>; 45 + 46 + dfx: dfx@0 { 47 + compatible = "marvell,dfx-server"; 48 + reg = <0 0x100000>; 49 + }; 50 + };
+2
arch/arm/boot/dts/Makefile
··· 976 976 dtb-$(CONFIG_MACH_ARMADA_XP) += \ 977 977 armada-xp-axpwifiap.dtb \ 978 978 armada-xp-db.dtb \ 979 + armada-xp-db-dxbc2.dtb \ 980 + armada-xp-db-xc3-24g4xg.dtb \ 979 981 armada-xp-gp.dtb \ 980 982 armada-xp-lenovo-ix4-300d.dtb \ 981 983 armada-xp-linksys-mamba.dtb \
+254
arch/arm/boot/dts/armada-xp-98dx3236.dtsi
··· 1 + /* 2 + * Device Tree Include file for Marvell 98dx3236 family SoC 3 + * 4 + * Copyright (C) 2016 Allied Telesis Labs 5 + * 6 + * This file is dual-licensed: you can use it either under the terms 7 + * of the GPL or the X11 license, at your option. Note that this dual 8 + * licensing only applies to this file, and not this project as a 9 + * whole. 10 + * 11 + * a) This file is free software; you can redistribute it and/or 12 + * modify it under the terms of the GNU General Public License as 13 + * published by the Free Software Foundation; either version 2 of the 14 + * License, or (at your option) any later version. 15 + * 16 + * This file is distributed in the hope that it will be useful, 17 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 + * GNU General Public License for more details. 20 + * 21 + * Or, alternatively, 22 + * 23 + * b) Permission is hereby granted, free of charge, to any person 24 + * obtaining a copy of this software and associated documentation 25 + * files (the "Software"), to deal in the Software without 26 + * restriction, including without limitation the rights to use, 27 + * copy, modify, merge, publish, distribute, sublicense, and/or 28 + * sell copies of the Software, and to permit persons to whom the 29 + * Software is furnished to do so, subject to the following 30 + * conditions: 31 + * 32 + * The above copyright notice and this permission notice shall be 33 + * included in all copies or substantial portions of the Software. 34 + * 35 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 36 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 40 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42 + * OTHER DEALINGS IN THE SOFTWARE. 43 + * 44 + * Contains definitions specific to the 98dx3236 SoC that are not 45 + * common to all Armada XP SoCs. 46 + */ 47 + 48 + #include "armada-xp.dtsi" 49 + 50 + / { 51 + model = "Marvell 98DX3236 SoC"; 52 + compatible = "marvell,armadaxp-98dx3236", "marvell,armadaxp", "marvell,armada-370-xp"; 53 + 54 + aliases { 55 + gpio0 = &gpio0; 56 + gpio1 = &gpio1; 57 + gpio2 = &gpio2; 58 + }; 59 + 60 + cpus { 61 + #address-cells = <1>; 62 + #size-cells = <0>; 63 + enable-method = "marvell,98dx3236-smp"; 64 + 65 + cpu@0 { 66 + device_type = "cpu"; 67 + compatible = "marvell,sheeva-v7"; 68 + reg = <0>; 69 + clocks = <&cpuclk 0>; 70 + clock-latency = <1000000>; 71 + }; 72 + }; 73 + 74 + soc { 75 + ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000 76 + MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000 77 + MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x1000000 78 + MBUS_ID(0x03, 0x00) 0 0 0xa8000000 0x4000000 79 + MBUS_ID(0x08, 0x00) 0 0 0xac000000 0x100000>; 80 + 81 + /* 82 + * 98DX3236 has 1 x1 PCIe unit Gen2.0 83 + */ 84 + pciec: pcie-controller@82000000 { 85 + compatible = "marvell,armada-xp-pcie"; 86 + status = "disabled"; 87 + device_type = "pci"; 88 + 89 + #address-cells = <3>; 90 + #size-cells = <2>; 91 + 92 + msi-parent = <&mpic>; 93 + bus-range = <0x00 0xff>; 94 + 95 + ranges = 96 + <0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000 /* Port 0.0 registers */ 97 + 0x82000000 0x1 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 0.0 MEM */ 98 + 0x81000000 0x1 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 0.0 IO */ 99 + 0x82000000 0x2 0 MBUS_ID(0x04, 0xd8) 0 1 0 /* Port 0.1 MEM */>; 100 + 101 + pcie1: pcie@1,0 { 102 + device_type = "pci"; 103 + assigned-addresses = <0x82000800 0 0x40000 0 0x2000>; 104 + reg = <0x0800 0 0 0 0>; 105 + #address-cells = <3>; 106 + #size-cells = <2>; 107 + #interrupt-cells = <1>; 108 + ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0 109 + 0x81000000 0 0 0x81000000 0x1 0 1 0>; 110 + interrupt-map-mask = <0 0 0 0>; 111 + interrupt-map = <0 0 0 0 &mpic 58>; 112 + marvell,pcie-port = <0>; 113 + marvell,pcie-lane = <0>; 114 + clocks = <&gateclk 5>; 115 + status = "disabled"; 116 + }; 117 + }; 118 + 119 + internal-regs { 120 + coreclk: mvebu-sar@18230 { 121 + compatible = "marvell,mv98dx3236-core-clock"; 122 + }; 123 + 124 + cpuclk: clock-complex@18700 { 125 + compatible = "marvell,mv98dx3236-cpu-clock"; 126 + }; 127 + 128 + corediv-clock@18740 { 129 + status = "disabled"; 130 + }; 131 + 132 + xor@60900 { 133 + status = "disabled"; 134 + }; 135 + 136 + crypto@90000 { 137 + status = "disabled"; 138 + }; 139 + 140 + xor@f0900 { 141 + status = "disabled"; 142 + }; 143 + 144 + xor@f0800 { 145 + compatible = "marvell,orion-xor"; 146 + reg = <0xf0800 0x100 147 + 0xf0a00 0x100>; 148 + clocks = <&gateclk 22>; 149 + status = "okay"; 150 + 151 + xor10 { 152 + interrupts = <51>; 153 + dmacap,memcpy; 154 + dmacap,xor; 155 + }; 156 + xor11 { 157 + interrupts = <52>; 158 + dmacap,memcpy; 159 + dmacap,xor; 160 + dmacap,memset; 161 + }; 162 + }; 163 + 164 + gpio0: gpio@18100 { 165 + compatible = "marvell,orion-gpio"; 166 + reg = <0x18100 0x40>; 167 + ngpios = <32>; 168 + gpio-controller; 169 + #gpio-cells = <2>; 170 + interrupt-controller; 171 + #interrupt-cells = <2>; 172 + interrupts = <82>, <83>, <84>, <85>; 173 + }; 174 + 175 + /* does not exist */ 176 + gpio1: gpio@18140 { 177 + compatible = "marvell,orion-gpio"; 178 + reg = <0x18140 0x40>; 179 + status = "disabled"; 180 + }; 181 + 182 + gpio2: gpio@18180 { /* rework some properties */ 183 + compatible = "marvell,orion-gpio"; 184 + reg = <0x18180 0x40>; 185 + ngpios = <1>; /* only gpio #32 */ 186 + gpio-controller; 187 + #gpio-cells = <2>; 188 + interrupt-controller; 189 + #interrupt-cells = <2>; 190 + interrupts = <87>; 191 + }; 192 + 193 + nand: nand@d0000 { 194 + clocks = <&dfx_coredivclk 0>; 195 + }; 196 + }; 197 + 198 + dfxr: dfx-registers@ac000000 { 199 + compatible = "simple-bus"; 200 + #address-cells = <1>; 201 + #size-cells = <1>; 202 + ranges = <0 MBUS_ID(0x08, 0x00) 0 0x100000>; 203 + 204 + dfx_coredivclk: corediv-clock@f8268 { 205 + compatible = "marvell,mv98dx3236-corediv-clock"; 206 + reg = <0xf8268 0xc>; 207 + #clock-cells = <1>; 208 + clocks = <&mainpll>; 209 + clock-output-names = "nand"; 210 + }; 211 + 212 + dfx: dfx@0 { 213 + compatible = "marvell,dfx-server"; 214 + reg = <0 0x100000>; 215 + }; 216 + }; 217 + 218 + switch: switch@a8000000 { 219 + compatible = "simple-bus"; 220 + #address-cells = <1>; 221 + #size-cells = <1>; 222 + ranges = <0 MBUS_ID(0x03, 0x00) 0 0x100000>; 223 + 224 + pp0: packet-processor@0 { 225 + compatible = "marvell,prestera-98dx3236"; 226 + reg = <0 0x4000000>; 227 + interrupts = <33>, <34>, <35>; 228 + dfx = <&dfx>; 229 + }; 230 + }; 231 + }; 232 + }; 233 + 234 + &pinctrl { 235 + compatible = "marvell,98dx3236-pinctrl"; 236 + 237 + spi0_pins: spi0-pins { 238 + marvell,pins = "mpp0", "mpp1", 239 + "mpp2", "mpp3"; 240 + marvell,function = "spi0"; 241 + }; 242 + }; 243 + 244 + &sdio { 245 + status = "disabled"; 246 + }; 247 + 248 + &crypto_sram0 { 249 + status = "disabled"; 250 + }; 251 + 252 + &crypto_sram1 { 253 + status = "disabled"; 254 + };
+76
arch/arm/boot/dts/armada-xp-98dx3336.dtsi
··· 1 + /* 2 + * Device Tree Include file for Marvell 98dx3336 family SoC 3 + * 4 + * Copyright (C) 2016 Allied Telesis Labs 5 + * 6 + * This file is dual-licensed: you can use it either under the terms 7 + * of the GPL or the X11 license, at your option. Note that this dual 8 + * licensing only applies to this file, and not this project as a 9 + * whole. 10 + * 11 + * a) This file is free software; you can redistribute it and/or 12 + * modify it under the terms of the GNU General Public License as 13 + * published by the Free Software Foundation; either version 2 of the 14 + * License, or (at your option) any later version. 15 + * 16 + * This file is distributed in the hope that it will be useful, 17 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 + * GNU General Public License for more details. 20 + * 21 + * Or, alternatively, 22 + * 23 + * b) Permission is hereby granted, free of charge, to any person 24 + * obtaining a copy of this software and associated documentation 25 + * files (the "Software"), to deal in the Software without 26 + * restriction, including without limitation the rights to use, 27 + * copy, modify, merge, publish, distribute, sublicense, and/or 28 + * sell copies of the Software, and to permit persons to whom the 29 + * Software is furnished to do so, subject to the following 30 + * conditions: 31 + * 32 + * The above copyright notice and this permission notice shall be 33 + * included in all copies or substantial portions of the Software. 34 + * 35 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 36 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 40 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42 + * OTHER DEALINGS IN THE SOFTWARE. 43 + * 44 + * Contains definitions specific to the 98dx3236 SoC that are not 45 + * common to all Armada XP SoCs. 46 + */ 47 + 48 + #include "armada-xp-98dx3236.dtsi" 49 + 50 + / { 51 + model = "Marvell 98DX3336 SoC"; 52 + compatible = "marvell,armadaxp-98dx3336", "marvell,armadaxp-98dx3236", "marvell,armadaxp", "marvell,armada-370-xp"; 53 + 54 + cpus { 55 + cpu@1 { 56 + device_type = "cpu"; 57 + compatible = "marvell,sheeva-v7"; 58 + reg = <1>; 59 + clocks = <&cpuclk 1>; 60 + clock-latency = <1000000>; 61 + }; 62 + }; 63 + 64 + soc { 65 + internal-regs { 66 + resume@20980 { 67 + compatible = "marvell,98dx3336-resume-ctrl"; 68 + reg = <0x20980 0x10>; 69 + }; 70 + }; 71 + }; 72 + }; 73 + 74 + &pp0 { 75 + compatible = "marvell,prestera-98dx3336"; 76 + };
+90
arch/arm/boot/dts/armada-xp-98dx4251.dtsi
··· 1 + /* 2 + * Device Tree Include file for Marvell 98dx4521 family SoC 3 + * 4 + * Copyright (C) 2016 Allied Telesis Labs 5 + * 6 + * This file is dual-licensed: you can use it either under the terms 7 + * of the GPL or the X11 license, at your option. Note that this dual 8 + * licensing only applies to this file, and not this project as a 9 + * whole. 10 + * 11 + * a) This file is free software; you can redistribute it and/or 12 + * modify it under the terms of the GNU General Public License as 13 + * published by the Free Software Foundation; either version 2 of the 14 + * License, or (at your option) any later version. 15 + * 16 + * This file is distributed in the hope that it will be useful, 17 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 + * GNU General Public License for more details. 20 + * 21 + * Or, alternatively, 22 + * 23 + * b) Permission is hereby granted, free of charge, to any person 24 + * obtaining a copy of this software and associated documentation 25 + * files (the "Software"), to deal in the Software without 26 + * restriction, including without limitation the rights to use, 27 + * copy, modify, merge, publish, distribute, sublicense, and/or 28 + * sell copies of the Software, and to permit persons to whom the 29 + * Software is furnished to do so, subject to the following 30 + * conditions: 31 + * 32 + * The above copyright notice and this permission notice shall be 33 + * included in all copies or substantial portions of the Software. 34 + * 35 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 36 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 40 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42 + * OTHER DEALINGS IN THE SOFTWARE. 43 + * 44 + * Contains definitions specific to the 98dx4521 SoC that are not 45 + * common to all Armada XP SoCs. 46 + */ 47 + 48 + #include "armada-xp-98dx3236.dtsi" 49 + 50 + / { 51 + model = "Marvell 98DX4251 SoC"; 52 + compatible = "marvell,armadaxp-98dx4521", "marvell,armadaxp-98dx3236", "marvell,armadaxp", "marvell,armada-370-xp"; 53 + 54 + cpus { 55 + cpu@1 { 56 + device_type = "cpu"; 57 + compatible = "marvell,sheeva-v7"; 58 + reg = <1>; 59 + clocks = <&cpuclk 1>; 60 + clock-latency = <1000000>; 61 + }; 62 + }; 63 + 64 + soc { 65 + internal-regs { 66 + resume@20980 { 67 + compatible = "marvell,98dx3336-resume-ctrl"; 68 + reg = <0x20980 0x10>; 69 + }; 70 + }; 71 + }; 72 + }; 73 + 74 + &sdio { 75 + status = "okay"; 76 + }; 77 + 78 + &pinctrl { 79 + compatible = "marvell,98dx4251-pinctrl"; 80 + 81 + sdio_pins: sdio-pins { 82 + marvell,pins = "mpp5", "mpp6", "mpp7", 83 + "mpp8", "mpp9", "mpp10"; 84 + marvell,function = "sd0"; 85 + }; 86 + }; 87 + 88 + &pp0 { 89 + compatible = "marvell,prestera-98dx4251"; 90 + };
+151
arch/arm/boot/dts/armada-xp-db-dxbc2.dts
··· 1 + /* 2 + * Device Tree file for DB-DXBC2 board 3 + * 4 + * Copyright (C) 2016 Allied Telesis Labs 5 + * 6 + * Based on armada-xp-db.dts 7 + * 8 + * This file is dual-licensed: you can use it either under the terms 9 + * of the GPL or the X11 license, at your option. Note that this dual 10 + * licensing only applies to this file, and not this project as a 11 + * whole. 12 + * 13 + * a) This file is free software; you can redistribute it and/or 14 + * modify it under the terms of the GNU General Public License as 15 + * published by the Free Software Foundation; either version 2 of the 16 + * License, or (at your option) any later version. 17 + * 18 + * This file is distributed in the hope that it will be useful, 19 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 + * GNU General Public License for more details. 22 + * 23 + * Or, alternatively, 24 + * 25 + * b) Permission is hereby granted, free of charge, to any person 26 + * obtaining a copy of this software and associated documentation 27 + * files (the "Software"), to deal in the Software without 28 + * restriction, including without limitation the rights to use, 29 + * copy, modify, merge, publish, distribute, sublicense, and/or 30 + * sell copies of the Software, and to permit persons to whom the 31 + * Software is furnished to do so, subject to the following 32 + * conditions: 33 + * 34 + * The above copyright notice and this permission notice shall be 35 + * included in all copies or substantial portions of the Software. 36 + * 37 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 38 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 39 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 40 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 41 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 42 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 43 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 44 + * OTHER DEALINGS IN THE SOFTWARE. 45 + * 46 + * Note: this Device Tree assumes that the bootloader has remapped the 47 + * internal registers to 0xf1000000 (instead of the default 48 + * 0xd0000000). The 0xf1000000 is the default used by the recent, 49 + * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier 50 + * boards were delivered with an older version of the bootloader that 51 + * left internal registers mapped at 0xd0000000. If you are in this 52 + * situation, you should either update your bootloader (preferred 53 + * solution) or the below Device Tree should be adjusted. 54 + */ 55 + 56 + /dts-v1/; 57 + #include "armada-xp-98dx4251.dtsi" 58 + 59 + / { 60 + model = "Marvell Bobcat2 Evaluation Board"; 61 + compatible = "marvell,db-dxbc2", "marvell,armadaxp-98dx4251", "marvell,armadaxp", "marvell,armada-370-xp"; 62 + 63 + chosen { 64 + bootargs = "console=ttyS0,115200 earlyprintk"; 65 + }; 66 + 67 + memory { 68 + device_type = "memory"; 69 + reg = <0 0x00000000 0 0x20000000>; /* 512 MB */ 70 + }; 71 + 72 + }; 73 + 74 + &devbus_bootcs { 75 + status = "okay"; 76 + 77 + /* Device Bus parameters are required */ 78 + 79 + /* Read parameters */ 80 + devbus,bus-width = <16>; 81 + devbus,turn-off-ps = <60000>; 82 + devbus,badr-skew-ps = <0>; 83 + devbus,acc-first-ps = <124000>; 84 + devbus,acc-next-ps = <248000>; 85 + devbus,rd-setup-ps = <0>; 86 + devbus,rd-hold-ps = <0>; 87 + 88 + /* Write parameters */ 89 + devbus,sync-enable = <0>; 90 + devbus,wr-high-ps = <60000>; 91 + devbus,wr-low-ps = <60000>; 92 + devbus,ale-wr-ps = <60000>; 93 + }; 94 + 95 + &i2c0 { 96 + clock-frequency = <100000>; 97 + status = "okay"; 98 + }; 99 + 100 + &uart0 { 101 + status = "okay"; 102 + }; 103 + 104 + &uart1 { 105 + status = "okay"; 106 + }; 107 + 108 + &nand { 109 + status = "okay"; 110 + num-cs = <1>; 111 + marvell,nand-keep-config; 112 + marvell,nand-enable-arbiter; 113 + nand-on-flash-bbt; 114 + nand-ecc-strength = <4>; 115 + nand-ecc-step-size = <512>; 116 + }; 117 + 118 + &sdio { 119 + pinctrl-0 = <&sdio_pins>; 120 + pinctrl-names = "default"; 121 + status = "okay"; 122 + /* No CD or WP GPIOs */ 123 + broken-cd; 124 + }; 125 + 126 + &spi0 { 127 + status = "okay"; 128 + 129 + spi-flash@0 { 130 + #address-cells = <1>; 131 + #size-cells = <1>; 132 + compatible = "m25p64"; 133 + reg = <0>; /* Chip select 0 */ 134 + spi-max-frequency = <20000000>; 135 + m25p,fast-read; 136 + 137 + partition@u-boot { 138 + reg = <0x00000000 0x00100000>; 139 + label = "u-boot"; 140 + }; 141 + partition@u-boot-env { 142 + reg = <0x00100000 0x00040000>; 143 + label = "u-boot-env"; 144 + }; 145 + partition@unused { 146 + reg = <0x00140000 0x00ec0000>; 147 + label = "unused"; 148 + }; 149 + 150 + }; 151 + };
+142
arch/arm/boot/dts/armada-xp-db-xc3-24g4xg.dts
··· 1 + /* 2 + * Device Tree file for DB-XC3-24G4XG board 3 + * 4 + * Copyright (C) 2016 Allied Telesis Labs 5 + * 6 + * Based on armada-xp-db.dts 7 + * 8 + * This file is dual-licensed: you can use it either under the terms 9 + * of the GPL or the X11 license, at your option. Note that this dual 10 + * licensing only applies to this file, and not this project as a 11 + * whole. 12 + * 13 + * a) This file is free software; you can redistribute it and/or 14 + * modify it under the terms of the GNU General Public License as 15 + * published by the Free Software Foundation; either version 2 of the 16 + * License, or (at your option) any later version. 17 + * 18 + * This file is distributed in the hope that it will be useful, 19 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 + * GNU General Public License for more details. 22 + * 23 + * Or, alternatively, 24 + * 25 + * b) Permission is hereby granted, free of charge, to any person 26 + * obtaining a copy of this software and associated documentation 27 + * files (the "Software"), to deal in the Software without 28 + * restriction, including without limitation the rights to use, 29 + * copy, modify, merge, publish, distribute, sublicense, and/or 30 + * sell copies of the Software, and to permit persons to whom the 31 + * Software is furnished to do so, subject to the following 32 + * conditions: 33 + * 34 + * The above copyright notice and this permission notice shall be 35 + * included in all copies or substantial portions of the Software. 36 + * 37 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 38 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 39 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 40 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 41 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 42 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 43 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 44 + * OTHER DEALINGS IN THE SOFTWARE. 45 + * 46 + * Note: this Device Tree assumes that the bootloader has remapped the 47 + * internal registers to 0xf1000000 (instead of the default 48 + * 0xd0000000). The 0xf1000000 is the default used by the recent, 49 + * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier 50 + * boards were delivered with an older version of the bootloader that 51 + * left internal registers mapped at 0xd0000000. If you are in this 52 + * situation, you should either update your bootloader (preferred 53 + * solution) or the below Device Tree should be adjusted. 54 + */ 55 + 56 + /dts-v1/; 57 + #include "armada-xp-98dx3336.dtsi" 58 + 59 + / { 60 + model = "DB-XC3-24G4XG"; 61 + compatible = "marvell,db-xc3-24g4xg", "marvell,armadaxp-98dx3336", "marvell,armadaxp", "marvell,armada-370-xp"; 62 + 63 + chosen { 64 + bootargs = "console=ttyS0,115200 earlyprintk"; 65 + }; 66 + 67 + memory { 68 + device_type = "memory"; 69 + reg = <0 0x00000000 0 0x40000000>; /* 1 GB */ 70 + }; 71 + }; 72 + 73 + &devbus_bootcs { 74 + status = "okay"; 75 + 76 + /* Device Bus parameters are required */ 77 + 78 + /* Read parameters */ 79 + devbus,bus-width = <16>; 80 + devbus,turn-off-ps = <60000>; 81 + devbus,badr-skew-ps = <0>; 82 + devbus,acc-first-ps = <124000>; 83 + devbus,acc-next-ps = <248000>; 84 + devbus,rd-setup-ps = <0>; 85 + devbus,rd-hold-ps = <0>; 86 + 87 + /* Write parameters */ 88 + devbus,sync-enable = <0>; 89 + devbus,wr-high-ps = <60000>; 90 + devbus,wr-low-ps = <60000>; 91 + devbus,ale-wr-ps = <60000>; 92 + }; 93 + 94 + &uart0 { 95 + status = "okay"; 96 + }; 97 + 98 + &uart1 { 99 + status = "okay"; 100 + }; 101 + 102 + &i2c0 { 103 + clock-frequency = <100000>; 104 + status = "okay"; 105 + }; 106 + 107 + &nand { 108 + status = "okay"; 109 + num-cs = <1>; 110 + marvell,nand-keep-config; 111 + marvell,nand-enable-arbiter; 112 + nand-on-flash-bbt; 113 + nand-ecc-strength = <4>; 114 + nand-ecc-step-size = <512>; 115 + }; 116 + 117 + &spi0 { 118 + status = "okay"; 119 + 120 + spi-flash@0 { 121 + #address-cells = <1>; 122 + #size-cells = <1>; 123 + compatible = "m25p64"; 124 + reg = <0>; /* Chip select 0 */ 125 + spi-max-frequency = <20000000>; 126 + m25p,fast-read; 127 + 128 + partition@u-boot { 129 + reg = <0x00000000 0x00100000>; 130 + label = "u-boot"; 131 + }; 132 + partition@u-boot-env { 133 + reg = <0x00100000 0x00040000>; 134 + label = "u-boot-env"; 135 + }; 136 + partition@unused { 137 + reg = <0x00140000 0x00ec0000>; 138 + label = "unused"; 139 + }; 140 + 141 + }; 142 + };