forked from Minki/linux
195849ea13
A total of 380 patches this time, mostly adding support for more hardware in the device tree descriptions. There is not much exciting here for 4.11, but I've tried my best to condense the information from the pull requests I got into a readable summary. Noteworthy changes to existing platforms include: - The GIC memory map was a bit wrong almost everywhere and now gets fixed up - The Allwinner platforms convert to the generic pinmux properties - The Marvell EBU platforms now use the new DSA binding - Samsung Exynos4212 was unused and gets removed - The Renesas power management got improved New production machines: - Lego Mindstorms EV3 https://www.lego.com/en-us/mindstorms/about-ev3 - Beelink X2 Android media box http://linux-sunxi.org/Beelink_X2 - "Romulus" baseboard management controller for OpenPower - Axentia TSE-850 Data Radio Channel (DARC) encoder http://www.axentia.se/db/equipment.html - Luxul XAP-1410 and XWR-1200 wireless access points https://luxul.com/xap-1410 New SoCs: - Allwinner H2+ and V3s, both minor variations of already supported chips http://www.allwinnertech.com/index.php?c=product&a=index&id=38 - Marvell Prestera DX packet processors based on Armada XP architecture http://www.marvell.com/switching/prestera-dx/ - Samsung Exynos4412 Prime gets added, a minor variation of Exynos4412 New developer and reference boards: - Lichee Pi One, Lichee Pi Zero and Orange Pi Zero, all based on Allwinner SoCs http://linux-sunxi.org/LicheePi_One http://www.orangepi.org/orangepizero/ - SAMA5d36ek Reference platform http://www.atmel.com/tools/sama5d36-ek.aspx - Beaglebone Green Wireless and Black Wireless https://beagleboard.org/black-wireless https://beagleboard.org/green-wireless - phyCORE-AM335x System on Module http://phytec.com/products/system-on-modules/phycore/am335x/ - New revision of "vf610-zii" Zodiac Inflight Innovations board - Various i.MX System-on-Module: Is.IoT MX6UL, SavageBoard, Engicam i.Core http://www.opossom.com/english/index.html http://www.savageboard.org/ http://www.engicam.com/en/products/embedded/som/sodimm/is-iot-mx6ul http://www.engicam.com/en/products/embedded/som/sodimm/i-core-m6s-dl-d-q - Liebherr (LWN) monitor 6 based on i.MX6 Quad, no idea what this is Cleanups and bugfixes on at91, bcm53xx, i.MX, mvebu, omap, oxnas, qcom, rockchip, sti, stm32 and tegra New device supports added to some boards and SoCs, briefly by platform: - Allwinner: SPDIF, A33 cpufreq, A33 Mali GPU - Aspeed: network, ipmi bt, gpio, pinmux - Broadcom: video encoder for raspberry pi, qspi, ethernet, sd/mmc - TI DaVinci: gpio, lcdc, usb, video-in, uart - TI Keystone 2: MSM RAM, power/reset, uart - Mediatek MT2701: clocks, iommu, spi, nand, adc, thermal - Marvell EBU: ethernet switch on Turris Omnia - NXP i.MX: otp ram, USB, wifi, bluetooth, spdif, spi, pmic, eeprom, mmc, nand - TI OMAP: - Qualcomm: coresight, gyro/accelerometer, hdmi - Renesas: pmic, soc-id - Rockchip: qos - Samsung: audio on Odroid-X - Socfpga: FPGA manager, i2c, led, can, watchdog, nand, power monitor - STi: video in/out - STM32: timer, pwm, i2c, rtc, add, i2s - NVIDIA Tegra: tpm - Uniphier: mmc/sd pinmux -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIVAwUAWK9aamCrR//JCVInAQJPpBAA2qUQYRfCgzK1fEu6X+c8pzqITqlV+Hx7 8tBsZFINywKLnUXLs4Ip4DDK8uDsIACXSmGMdmhUVIXLsuRxJBl8av+ndd+ERGoF bg/iAIyA9hjKRhorE1wDyC4wg1S4P8laPevbK7NcDYDbK9MRmGSmEyP2uvhfLtVy 2zoPfIE5aEipx6GoIATzLRqpMO6rWB/eg9OUZVKN5Hwh3LNCKtkX726GC9WGVqoE zslF1S6VH63dfru2Vlu5eFdvmiox54gBJBMR7yld+EIiXWilNT0eWfEYRd3CMT6E EwRCNiNRa21DHstBdL9pTuE+K0LpAUXlznjiqeWrZVuJfdHJy51pGVWwoc4ynbhI TS/GFgJI4iG2xrE3EIJS5cAl1S9WtNOYYvZATM35blFbZv7ASoAGdj2EECIIPwJr CR4l9Y2k/fuNHAzhR4B0fEKj/uWj7ONqcolpf8W6lZx0MvVNgeDwdx0eoLrbrxY9 MJFb9OgD+BhNp5lIElysl0L9aEp3PxV668nSg4qV+Mo4w/5/OXhHK8675bXlITFU 4Rw6fxRUBeO2B0LSonE4Ds8QKMQCs2yfxyMPWMn8yK/xFkwpHzwoJuRR2RYpbQTb 5Hrnfk23k+2rflht07XBxNqqaznDQyPPvAvoB0ZZ2kchPYl75MlpAfOGlgfhXcmm Kp4g7VYyfAs= =ucQ/ -----END PGP SIGNATURE----- Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM DT updates from Arnd Bergmann: "A total of 380 patches this time, mostly adding support for more hardware in the device tree descriptions. There is not much exciting here for 4.11, but I've tried my best to condense the information from the pull requests I got into a readable summary. Noteworthy changes to existing platforms include: - The GIC memory map was a bit wrong almost everywhere and now gets fixed up - The Allwinner platforms convert to the generic pinmux properties - The Marvell EBU platforms now use the new DSA binding - Samsung Exynos4212 was unused and gets removed - The Renesas power management got improved New production machines: - Lego Mindstorms EV3: https://www.lego.com/en-us/mindstorms/about-ev3 - Beelink X2 Android media box: http://linux-sunxi.org/Beelink_X2 - "Romulus" baseboard management controller for OpenPower - Axentia TSE-850 Data Radio Channel (DARC) encoder: http://www.axentia.se/db/equipment.html - Luxul XAP-1410 and XWR-1200 wireless access points: https://luxul.com/xap-1410 New SoCs: - Allwinner H2+ and V3s, both minor variations of already supported chips: http://www.allwinnertech.com/index.php?c=product&a=index&id=38 - Marvell Prestera DX packet processors based on Armada XP architecture: http://www.marvell.com/switching/prestera-dx/ - Samsung Exynos4412 Prime gets added, a minor variation of Exynos4412 New developer and reference boards: - Lichee Pi One, Lichee Pi Zero and Orange Pi Zero, all based on Allwinner SoCs: http://linux-sunxi.org/LicheePi_One http://www.orangepi.org/orangepizero/ - SAMA5d36ek Reference platform: http://www.atmel.com/tools/sama5d36-ek.aspx - Beaglebone Green Wireless and Black Wireless: https://beagleboard.org/black-wireless https://beagleboard.org/green-wireless - phyCORE-AM335x System on Module: http://phytec.com/products/system-on-modules/phycore/am335x/ - New revision of "vf610-zii" Zodiac Inflight Innovations board - Various i.MX System-on-Module: Is.IoT MX6UL, SavageBoard, Engicam i.Core: http://www.opossom.com/english/index.html http://www.savageboard.org/ http://www.engicam.com/en/products/embedded/som/sodimm/is-iot-mx6ul http://www.engicam.com/en/products/embedded/som/sodimm/i-core-m6s-dl-d-q - Liebherr (LWN) monitor 6 based on i.MX6 Quad, no idea what this is - Cleanups and bugfixes on at91, bcm53xx, i.MX, mvebu, omap, oxnas, qcom, rockchip, sti, stm32 and tegra New device supports added to some boards and SoCs, briefly by platform: - Allwinner: SPDIF, A33 cpufreq, A33 Mali GPU - Aspeed: network, ipmi bt, gpio, pinmux - Broadcom: video encoder for raspberry pi, qspi, ethernet, sd/mmc - TI DaVinci: gpio, lcdc, usb, video-in, uart - TI Keystone 2: MSM RAM, power/reset, uart - Mediatek MT2701: clocks, iommu, spi, nand, adc, thermal - Marvell EBU: ethernet switch on Turris Omnia - NXP i.MX: otp ram, USB, wifi, bluetooth, spdif, spi, pmic, eeprom, mmc, nand - TI OMAP: - Qualcomm: coresight, gyro/accelerometer, hdmi - Renesas: pmic, soc-id - Rockchip: qos - Samsung: audio on Odroid-X - Socfpga: FPGA manager, i2c, led, can, watchdog, nand, power monitor - STi: video in/out - STM32: timer, pwm, i2c, rtc, add, i2s - NVIDIA Tegra: tpm - Uniphier: mmc/sd pinmux" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (380 commits) ARM: dts: armada-385-linksys: fix DSA compatible property ARM: dts: Fix typo in armada-xp-98dx4251 ARM: DTS: Fix register map for virt-capable GIC dt-bindings: arm,gic: Fix binding example for a virt-capable GIC ARM: dts: sun8i: sinlinx: Enable audio nodes ARM: dts: sun8i: parrot: Enable audio nodes ARM: dts: sun8i: Add audio codec, dai and card for A33 ARM: dts: Add EMAC AXI settings for Arria10 ARM: dts: am335x-chiliboard: Support charger ARM: dts: am335x-chiliboard: Support power button ARM: sun8i: dt: Add mali node dt-bindings: gpu: Add Mali Utgard bindings ARM: dts: stm32: Add I2C1 support for STM32429 eval board ARM: dts: stm32: Add I2C1 support for STM32F429 SoC ARM: dts: stm32: Use clock DT binding definition on stm32f429 family dt-bindings: mfd: stm32f4: Add missing binding definition dt-bindings: mfd: stm32f4: Fix STM32F4_X_CLOCK() macro ARM: dts: stm32: Enable pwm1 and pwm3 for stm32f469-disco ARM: dts: stm32: add Timers driver for stm32f429 MCU ARM: dts: add the AB8500 sysclk to the device trees ...
537 lines
13 KiB
Plaintext
537 lines
13 KiB
Plaintext
/*
|
|
* BSD LICENSE
|
|
*
|
|
* Copyright(c) 2015 Broadcom Corporation. All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* * Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* * Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in
|
|
* the documentation and/or other materials provided with the
|
|
* distribution.
|
|
* * Neither the name of Broadcom Corporation nor the names of its
|
|
* contributors may be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/clock/bcm-nsp.h>
|
|
|
|
#include "skeleton.dtsi"
|
|
|
|
/ {
|
|
compatible = "brcm,nsp";
|
|
model = "Broadcom Northstar Plus SoC";
|
|
interrupt-parent = <&gic>;
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cpu0: cpu@0 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a9";
|
|
next-level-cache = <&L2>;
|
|
reg = <0x0>;
|
|
};
|
|
|
|
cpu1: cpu@1 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a9";
|
|
next-level-cache = <&L2>;
|
|
enable-method = "brcm,bcm-nsp-smp";
|
|
secondary-boot-reg = <0xffff0fec>;
|
|
reg = <0x1>;
|
|
};
|
|
};
|
|
|
|
pmu {
|
|
compatible = "arm,cortex-a9-pmu";
|
|
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH
|
|
GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-affinity = <&cpu0>, <&cpu1>;
|
|
};
|
|
|
|
mpcore {
|
|
compatible = "simple-bus";
|
|
ranges = <0x00000000 0x19000000 0x00023000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
a9pll: arm_clk@00000 {
|
|
#clock-cells = <0>;
|
|
compatible = "brcm,nsp-armpll";
|
|
clocks = <&osc>;
|
|
reg = <0x00000 0x1000>;
|
|
};
|
|
|
|
timer@20200 {
|
|
compatible = "arm,cortex-a9-global-timer";
|
|
reg = <0x20200 0x100>;
|
|
interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&periph_clk>;
|
|
};
|
|
|
|
twd-timer@20600 {
|
|
compatible = "arm,cortex-a9-twd-timer";
|
|
reg = <0x20600 0x20>;
|
|
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
|
|
IRQ_TYPE_LEVEL_HIGH)>;
|
|
clocks = <&periph_clk>;
|
|
};
|
|
|
|
twd-watchdog@20620 {
|
|
compatible = "arm,cortex-a9-twd-wdt";
|
|
reg = <0x20620 0x20>;
|
|
interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
|
|
IRQ_TYPE_LEVEL_HIGH)>;
|
|
clocks = <&periph_clk>;
|
|
};
|
|
|
|
gic: interrupt-controller@21000 {
|
|
compatible = "arm,cortex-a9-gic";
|
|
#interrupt-cells = <3>;
|
|
#address-cells = <0>;
|
|
interrupt-controller;
|
|
reg = <0x21000 0x1000>,
|
|
<0x20100 0x100>;
|
|
};
|
|
|
|
L2: l2-cache {
|
|
compatible = "arm,pl310-cache";
|
|
reg = <0x22000 0x1000>;
|
|
cache-unified;
|
|
cache-level = <2>;
|
|
};
|
|
};
|
|
|
|
clocks {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
osc: oscillator {
|
|
#clock-cells = <0>;
|
|
compatible = "fixed-clock";
|
|
clock-frequency = <25000000>;
|
|
};
|
|
|
|
iprocmed: iprocmed {
|
|
#clock-cells = <0>;
|
|
compatible = "fixed-factor-clock";
|
|
clocks = <&genpll BCM_NSP_GENPLL_IPROCFAST_CLK>;
|
|
clock-div = <2>;
|
|
clock-mult = <1>;
|
|
};
|
|
|
|
iprocslow: iprocslow {
|
|
#clock-cells = <0>;
|
|
compatible = "fixed-factor-clock";
|
|
clocks = <&genpll BCM_NSP_GENPLL_IPROCFAST_CLK>;
|
|
clock-div = <4>;
|
|
clock-mult = <1>;
|
|
};
|
|
|
|
periph_clk: periph_clk {
|
|
#clock-cells = <0>;
|
|
compatible = "fixed-factor-clock";
|
|
clocks = <&a9pll>;
|
|
clock-div = <2>;
|
|
clock-mult = <1>;
|
|
};
|
|
};
|
|
|
|
axi {
|
|
compatible = "simple-bus";
|
|
ranges = <0x00000000 0x18000000 0x0011c40c>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
gpioa: gpio@0020 {
|
|
compatible = "brcm,nsp-gpio-a";
|
|
reg = <0x0020 0x70>,
|
|
<0x3f1c4 0x1c>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
ngpios = <32>;
|
|
interrupt-controller;
|
|
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-ranges = <&pinctrl 0 0 32>;
|
|
};
|
|
|
|
uart0: serial@0300 {
|
|
compatible = "ns16550a";
|
|
reg = <0x0300 0x100>;
|
|
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&osc>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart1: serial@0400 {
|
|
compatible = "ns16550a";
|
|
reg = <0x0400 0x100>;
|
|
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&osc>;
|
|
status = "disabled";
|
|
};
|
|
|
|
dma@20000 {
|
|
compatible = "arm,pl330", "arm,primecell";
|
|
reg = <0x20000 0x1000>;
|
|
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&iprocslow>;
|
|
clock-names = "apb_pclk";
|
|
#dma-cells = <1>;
|
|
};
|
|
|
|
sdio: sdhci@21000 {
|
|
compatible = "brcm,sdhci-iproc-cygnus";
|
|
reg = <0x21000 0x100>;
|
|
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
|
|
sdhci,auto-cmd12;
|
|
clocks = <&lcpll0 BCM_NSP_LCPLL0_SDIO_CLK>;
|
|
status = "disabled";
|
|
};
|
|
|
|
amac0: ethernet@22000 {
|
|
compatible = "brcm,nsp-amac";
|
|
reg = <0x022000 0x1000>,
|
|
<0x110000 0x1000>;
|
|
reg-names = "amac_base", "idm_base";
|
|
interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
|
|
amac1: ethernet@23000 {
|
|
compatible = "brcm,nsp-amac";
|
|
reg = <0x023000 0x1000>,
|
|
<0x111000 0x1000>;
|
|
reg-names = "amac_base", "idm_base";
|
|
interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
|
|
amac2: ethernet@24000 {
|
|
compatible = "brcm,nsp-amac";
|
|
reg = <0x024000 0x1000>,
|
|
<0x112000 0x1000>;
|
|
reg-names = "amac_base", "idm_base";
|
|
interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
|
|
nand: nand@26000 {
|
|
compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1";
|
|
reg = <0x026000 0x600>,
|
|
<0x11b408 0x600>,
|
|
<0x026f00 0x20>;
|
|
reg-names = "nand", "iproc-idm", "iproc-ext";
|
|
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
brcm,nand-has-wp;
|
|
};
|
|
|
|
qspi: qspi@27200 {
|
|
compatible = "brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi";
|
|
reg = <0x027200 0x184>,
|
|
<0x027000 0x124>,
|
|
<0x11c408 0x004>,
|
|
<0x0273a0 0x01c>;
|
|
reg-names = "mspi", "bspi", "intr_regs",
|
|
"intr_status_reg";
|
|
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "spi_lr_fullness_reached",
|
|
"spi_lr_session_aborted",
|
|
"spi_lr_impatient",
|
|
"spi_lr_session_done",
|
|
"spi_lr_overhead",
|
|
"mspi_done",
|
|
"mspi_halted";
|
|
clocks = <&iprocmed>;
|
|
clock-names = "iprocmed";
|
|
num-cs = <2>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
gpiob: gpio@30000 {
|
|
compatible = "brcm,iproc-nsp-gpio", "brcm,iproc-gpio";
|
|
reg = <0x30000 0x50>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
ngpios = <4>;
|
|
interrupt-controller;
|
|
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
pwm: pwm@31000 {
|
|
compatible = "brcm,iproc-pwm";
|
|
reg = <0x31000 0x28>;
|
|
clocks = <&osc>;
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
rng: rng@33000 {
|
|
compatible = "brcm,bcm-nsp-rng";
|
|
reg = <0x33000 0x14>;
|
|
};
|
|
|
|
ccbtimer0: timer@34000 {
|
|
compatible = "arm,sp804";
|
|
reg = <0x34000 0x1000>;
|
|
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&iprocslow>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
ccbtimer1: timer@35000 {
|
|
compatible = "arm,sp804";
|
|
reg = <0x35000 0x1000>;
|
|
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&iprocslow>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
srab: srab@36000 {
|
|
compatible = "brcm,nsp-srab";
|
|
reg = <0x36000 0x1000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "disabled";
|
|
|
|
/* ports are defined in board DTS */
|
|
};
|
|
|
|
i2c0: i2c@38000 {
|
|
compatible = "brcm,iproc-i2c";
|
|
reg = <0x38000 0x50>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
watchdog@39000 {
|
|
compatible = "arm,sp805", "arm,primecell";
|
|
reg = <0x39000 0x1000>;
|
|
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&iprocslow>, <&iprocslow>;
|
|
clock-names = "wdogclk", "apb_pclk";
|
|
};
|
|
|
|
lcpll0: lcpll0@3f100 {
|
|
#clock-cells = <1>;
|
|
compatible = "brcm,nsp-lcpll0";
|
|
reg = <0x3f100 0x14>;
|
|
clocks = <&osc>;
|
|
clock-output-names = "lcpll0", "pcie_phy", "sdio",
|
|
"ddr_phy";
|
|
};
|
|
|
|
genpll: genpll@3f140 {
|
|
#clock-cells = <1>;
|
|
compatible = "brcm,nsp-genpll";
|
|
reg = <0x3f140 0x24>;
|
|
clocks = <&osc>;
|
|
clock-output-names = "genpll", "phy", "ethernetclk",
|
|
"usbclk", "iprocfast", "sata1",
|
|
"sata2";
|
|
};
|
|
|
|
pinctrl: pinctrl@3f1c0 {
|
|
compatible = "brcm,nsp-pinmux";
|
|
reg = <0x3f1c0 0x04>,
|
|
<0x30028 0x04>,
|
|
<0x3f408 0x04>;
|
|
};
|
|
|
|
sata_phy: sata_phy@40100 {
|
|
compatible = "brcm,iproc-nsp-sata-phy";
|
|
reg = <0x40100 0x340>;
|
|
reg-names = "phy";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
sata_phy0: sata-phy@0 {
|
|
reg = <0>;
|
|
#phy-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
sata_phy1: sata-phy@1 {
|
|
reg = <1>;
|
|
#phy-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
sata: ahci@41000 {
|
|
compatible = "brcm,bcm-nsp-ahci";
|
|
reg-names = "ahci", "top-ctrl";
|
|
reg = <0x41000 0x1000>, <0x40020 0x1c>;
|
|
interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disabled";
|
|
|
|
sata0: sata-port@0 {
|
|
reg = <0>;
|
|
phys = <&sata_phy0>;
|
|
phy-names = "sata-phy";
|
|
};
|
|
|
|
sata1: sata-port@1 {
|
|
reg = <1>;
|
|
phys = <&sata_phy1>;
|
|
phy-names = "sata-phy";
|
|
};
|
|
};
|
|
};
|
|
|
|
pcie0: pcie@18012000 {
|
|
compatible = "brcm,iproc-pcie";
|
|
reg = <0x18012000 0x1000>;
|
|
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0 0 0 0>;
|
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 131 IRQ_TYPE_NONE>;
|
|
|
|
linux,pci-domain = <0>;
|
|
|
|
bus-range = <0x00 0xff>;
|
|
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
device_type = "pci";
|
|
|
|
/* Note: The HW does not support I/O resources. So,
|
|
* only the memory resource range is being specified.
|
|
*/
|
|
ranges = <0x82000000 0 0x08000000 0x08000000 0 0x8000000>;
|
|
|
|
status = "disabled";
|
|
|
|
msi-parent = <&msi0>;
|
|
msi0: msi@18012000 {
|
|
compatible = "brcm,iproc-msi";
|
|
msi-controller;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SPI 127 IRQ_TYPE_NONE>,
|
|
<GIC_SPI 128 IRQ_TYPE_NONE>,
|
|
<GIC_SPI 129 IRQ_TYPE_NONE>,
|
|
<GIC_SPI 130 IRQ_TYPE_NONE>;
|
|
brcm,pcie-msi-inten;
|
|
};
|
|
};
|
|
|
|
pcie1: pcie@18013000 {
|
|
compatible = "brcm,iproc-pcie";
|
|
reg = <0x18013000 0x1000>;
|
|
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0 0 0 0>;
|
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 137 IRQ_TYPE_NONE>;
|
|
|
|
linux,pci-domain = <1>;
|
|
|
|
bus-range = <0x00 0xff>;
|
|
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
device_type = "pci";
|
|
|
|
/* Note: The HW does not support I/O resources. So,
|
|
* only the memory resource range is being specified.
|
|
*/
|
|
ranges = <0x82000000 0 0x40000000 0x40000000 0 0x8000000>;
|
|
|
|
status = "disabled";
|
|
|
|
msi-parent = <&msi1>;
|
|
msi1: msi@18013000 {
|
|
compatible = "brcm,iproc-msi";
|
|
msi-controller;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SPI 133 IRQ_TYPE_NONE>,
|
|
<GIC_SPI 134 IRQ_TYPE_NONE>,
|
|
<GIC_SPI 135 IRQ_TYPE_NONE>,
|
|
<GIC_SPI 136 IRQ_TYPE_NONE>;
|
|
brcm,pcie-msi-inten;
|
|
};
|
|
};
|
|
|
|
pcie2: pcie@18014000 {
|
|
compatible = "brcm,iproc-pcie";
|
|
reg = <0x18014000 0x1000>;
|
|
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0 0 0 0>;
|
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 143 IRQ_TYPE_NONE>;
|
|
|
|
linux,pci-domain = <2>;
|
|
|
|
bus-range = <0x00 0xff>;
|
|
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
device_type = "pci";
|
|
|
|
/* Note: The HW does not support I/O resources. So,
|
|
* only the memory resource range is being specified.
|
|
*/
|
|
ranges = <0x82000000 0 0x48000000 0x48000000 0 0x8000000>;
|
|
|
|
status = "disabled";
|
|
|
|
msi-parent = <&msi2>;
|
|
msi2: msi@18014000 {
|
|
compatible = "brcm,iproc-msi";
|
|
msi-controller;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SPI 139 IRQ_TYPE_NONE>,
|
|
<GIC_SPI 140 IRQ_TYPE_NONE>,
|
|
<GIC_SPI 141 IRQ_TYPE_NONE>,
|
|
<GIC_SPI 142 IRQ_TYPE_NONE>;
|
|
brcm,pcie-msi-inten;
|
|
};
|
|
};
|
|
};
|