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

ARM: dts: bcm21664: Add device tree files.

Add device tree files for the Broadcom BCM21664 SoC.

Signed-off-by: Markus Mayer <markus.mayer@linaro.org>
Signed-off-by: Matt Porter <mporter@linaro.org>

authored by

Markus Mayer and committed by
Matt Porter
2eba905e 8cf78b85

+350 -1
+2 -1
arch/arm/boot/dts/Makefile
··· 47 47 48 48 dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb 49 49 dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb 50 - dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb 50 + dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ 51 + bcm21664-garnet.dtb 51 52 dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb 52 53 dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb 53 54 dtb-$(CONFIG_ARCH_BERLIN) += \
+56
arch/arm/boot/dts/bcm21664-garnet.dts
··· 1 + /* 2 + * Copyright (C) 2014 Broadcom Corporation 3 + * 4 + * This program is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU General Public License as 6 + * published by the Free Software Foundation version 2. 7 + * 8 + * This program is distributed "as is" WITHOUT ANY WARRANTY of any 9 + * kind, whether express or implied; without even the implied warranty 10 + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + */ 13 + 14 + /dts-v1/; 15 + 16 + #include <dt-bindings/gpio/gpio.h> 17 + 18 + #include "bcm21664.dtsi" 19 + 20 + / { 21 + model = "BCM21664 Garnet board"; 22 + compatible = "brcm,bcm21664-garnet", "brcm,bcm21664"; 23 + 24 + memory { 25 + reg = <0x80000000 0x40000000>; /* 1 GB */ 26 + }; 27 + 28 + uart@3e000000 { 29 + status = "okay"; 30 + }; 31 + 32 + sdio1: sdio@3f180000 { 33 + max-frequency = <48000000>; 34 + status = "okay"; 35 + }; 36 + 37 + sdio2: sdio@3f190000 { 38 + non-removable; 39 + max-frequency = <48000000>; 40 + status = "okay"; 41 + }; 42 + 43 + sdio4: sdio@3f1b0000 { 44 + max-frequency = <48000000>; 45 + cd-gpios = <&gpio 91 GPIO_ACTIVE_LOW>; 46 + status = "okay"; 47 + }; 48 + 49 + usbotg: usb@3f120000 { 50 + status = "okay"; 51 + }; 52 + 53 + usbphy: usb-phy@3f130000 { 54 + status = "okay"; 55 + }; 56 + };
+292
arch/arm/boot/dts/bcm21664.dtsi
··· 1 + /* 2 + * Copyright (C) 2014 Broadcom Corporation 3 + * 4 + * This program is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU General Public License as 6 + * published by the Free Software Foundation version 2. 7 + * 8 + * This program is distributed "as is" WITHOUT ANY WARRANTY of any 9 + * kind, whether express or implied; without even the implied warranty 10 + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + */ 13 + 14 + #include <dt-bindings/interrupt-controller/arm-gic.h> 15 + #include <dt-bindings/interrupt-controller/irq.h> 16 + 17 + #include "skeleton.dtsi" 18 + 19 + / { 20 + model = "BCM21664 SoC"; 21 + compatible = "brcm,bcm21664"; 22 + interrupt-parent = <&gic>; 23 + 24 + chosen { 25 + bootargs = "console=ttyS0,115200n8"; 26 + }; 27 + 28 + gic: interrupt-controller@3ff00100 { 29 + compatible = "arm,cortex-a9-gic"; 30 + #interrupt-cells = <3>; 31 + #address-cells = <0>; 32 + interrupt-controller; 33 + reg = <0x3ff01000 0x1000>, 34 + <0x3ff00100 0x100>; 35 + }; 36 + 37 + smc@0x3404e000 { 38 + compatible = "brcm,bcm21664-smc", "brcm,kona-smc"; 39 + reg = <0x3404e000 0x400>; /* 1 KiB in SRAM */ 40 + }; 41 + 42 + uart@3e000000 { 43 + compatible = "brcm,bcm21664-dw-apb-uart", "snps,dw-apb-uart"; 44 + status = "disabled"; 45 + reg = <0x3e000000 0x118>; 46 + clocks = <&uartb_clk>; 47 + interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 48 + reg-shift = <2>; 49 + reg-io-width = <4>; 50 + }; 51 + 52 + uart@3e001000 { 53 + compatible = "brcm,bcm21664-dw-apb-uart", "snps,dw-apb-uart"; 54 + status = "disabled"; 55 + reg = <0x3e001000 0x118>; 56 + clocks = <&uartb2_clk>; 57 + interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 58 + reg-shift = <2>; 59 + reg-io-width = <4>; 60 + }; 61 + 62 + uart@3e002000 { 63 + compatible = "brcm,bcm21664-dw-apb-uart", "snps,dw-apb-uart"; 64 + status = "disabled"; 65 + reg = <0x3e002000 0x118>; 66 + clocks = <&uartb3_clk>; 67 + interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 68 + reg-shift = <2>; 69 + reg-io-width = <4>; 70 + }; 71 + 72 + L2: l2-cache { 73 + compatible = "arm,pl310-cache"; 74 + reg = <0x3ff20000 0x1000>; 75 + cache-unified; 76 + cache-level = <2>; 77 + }; 78 + 79 + brcm,resetmgr@35001f00 { 80 + compatible = "brcm,bcm21664-resetmgr"; 81 + reg = <0x35001f00 0x24>; 82 + }; 83 + 84 + timer@35006000 { 85 + compatible = "brcm,kona-timer"; 86 + reg = <0x35006000 0x1c>; 87 + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 88 + clocks = <&hub_timer_clk>; 89 + }; 90 + 91 + gpio: gpio@35003000 { 92 + compatible = "brcm,bcm21664-gpio", "brcm,kona-gpio"; 93 + reg = <0x35003000 0x524>; 94 + interrupts = 95 + <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 96 + GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH 97 + GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH 98 + GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 99 + #gpio-cells = <2>; 100 + #interrupt-cells = <2>; 101 + gpio-controller; 102 + interrupt-controller; 103 + }; 104 + 105 + sdio1: sdio@3f180000 { 106 + compatible = "brcm,kona-sdhci"; 107 + reg = <0x3f180000 0x801c>; 108 + interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 109 + clocks = <&sdio1_clk>; 110 + status = "disabled"; 111 + }; 112 + 113 + sdio2: sdio@3f190000 { 114 + compatible = "brcm,kona-sdhci"; 115 + reg = <0x3f190000 0x801c>; 116 + interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 117 + clocks = <&sdio2_clk>; 118 + status = "disabled"; 119 + }; 120 + 121 + sdio3: sdio@3f1a0000 { 122 + compatible = "brcm,kona-sdhci"; 123 + reg = <0x3f1a0000 0x801c>; 124 + interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 125 + clocks = <&sdio3_clk>; 126 + status = "disabled"; 127 + }; 128 + 129 + sdio4: sdio@3f1b0000 { 130 + compatible = "brcm,kona-sdhci"; 131 + reg = <0x3f1b0000 0x801c>; 132 + interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 133 + clocks = <&sdio4_clk>; 134 + status = "disabled"; 135 + }; 136 + 137 + i2c@3e016000 { 138 + compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c"; 139 + reg = <0x3e016000 0x70>; 140 + interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 141 + #address-cells = <1>; 142 + #size-cells = <0>; 143 + clocks = <&bsc1_clk>; 144 + status = "disabled"; 145 + }; 146 + 147 + i2c@3e017000 { 148 + compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c"; 149 + reg = <0x3e017000 0x70>; 150 + interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 151 + #address-cells = <1>; 152 + #size-cells = <0>; 153 + clocks = <&bsc2_clk>; 154 + status = "disabled"; 155 + }; 156 + 157 + i2c@3e018000 { 158 + compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c"; 159 + reg = <0x3e018000 0x70>; 160 + interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 161 + #address-cells = <1>; 162 + #size-cells = <0>; 163 + clocks = <&bsc3_clk>; 164 + status = "disabled"; 165 + }; 166 + 167 + i2c@3e01c000 { 168 + compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c"; 169 + reg = <0x3e01c000 0x70>; 170 + interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>; 171 + #address-cells = <1>; 172 + #size-cells = <0>; 173 + clocks = <&bsc4_clk>; 174 + status = "disabled"; 175 + }; 176 + 177 + clocks { 178 + bsc1_clk: bsc1 { 179 + compatible = "fixed-clock"; 180 + clock-frequency = <13000000>; 181 + #clock-cells = <0>; 182 + }; 183 + 184 + bsc2_clk: bsc2 { 185 + compatible = "fixed-clock"; 186 + clock-frequency = <13000000>; 187 + #clock-cells = <0>; 188 + }; 189 + 190 + bsc3_clk: bsc3 { 191 + compatible = "fixed-clock"; 192 + clock-frequency = <13000000>; 193 + #clock-cells = <0>; 194 + }; 195 + 196 + bsc4_clk: bsc4 { 197 + compatible = "fixed-clock"; 198 + clock-frequency = <13000000>; 199 + #clock-cells = <0>; 200 + }; 201 + 202 + pmu_bsc_clk: pmu_bsc { 203 + compatible = "fixed-clock"; 204 + clock-frequency = <13000000>; 205 + #clock-cells = <0>; 206 + }; 207 + 208 + hub_timer_clk: hub_timer { 209 + compatible = "fixed-clock"; 210 + clock-frequency = <32768>; 211 + #clock-cells = <0>; 212 + }; 213 + 214 + pwm_clk: pwm { 215 + compatible = "fixed-clock"; 216 + clock-frequency = <26000000>; 217 + #clock-cells = <0>; 218 + }; 219 + 220 + sdio1_clk: sdio1 { 221 + compatible = "fixed-clock"; 222 + clock-frequency = <48000000>; 223 + #clock-cells = <0>; 224 + }; 225 + 226 + sdio2_clk: sdio2 { 227 + compatible = "fixed-clock"; 228 + clock-frequency = <48000000>; 229 + #clock-cells = <0>; 230 + }; 231 + 232 + sdio3_clk: sdio3 { 233 + compatible = "fixed-clock"; 234 + clock-frequency = <48000000>; 235 + #clock-cells = <0>; 236 + }; 237 + 238 + sdio4_clk: sdio4 { 239 + compatible = "fixed-clock"; 240 + clock-frequency = <48000000>; 241 + #clock-cells = <0>; 242 + }; 243 + 244 + tmon_1m_clk: tmon_1m { 245 + compatible = "fixed-clock"; 246 + clock-frequency = <1000000>; 247 + #clock-cells = <0>; 248 + }; 249 + 250 + uartb_clk: uartb { 251 + compatible = "fixed-clock"; 252 + clock-frequency = <13000000>; 253 + #clock-cells = <0>; 254 + }; 255 + 256 + uartb2_clk: uartb2 { 257 + compatible = "fixed-clock"; 258 + clock-frequency = <13000000>; 259 + #clock-cells = <0>; 260 + }; 261 + 262 + uartb3_clk: uartb3 { 263 + compatible = "fixed-clock"; 264 + clock-frequency = <13000000>; 265 + #clock-cells = <0>; 266 + }; 267 + 268 + usb_otg_ahb_clk: usb_otg_ahb { 269 + compatible = "fixed-clock"; 270 + clock-frequency = <52000000>; 271 + #clock-cells = <0>; 272 + }; 273 + }; 274 + 275 + usbotg: usb@3f120000 { 276 + compatible = "snps,dwc2"; 277 + reg = <0x3f120000 0x10000>; 278 + interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 279 + clocks = <&usb_otg_ahb_clk>; 280 + clock-names = "otg"; 281 + phys = <&usbphy>; 282 + phy-names = "usb2-phy"; 283 + status = "disabled"; 284 + }; 285 + 286 + usbphy: usb-phy@3f130000 { 287 + compatible = "brcm,kona-usb2-phy"; 288 + reg = <0x3f130000 0x28>; 289 + #phy-cells = <0>; 290 + status = "disabled"; 291 + }; 292 + };