Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
281 changes: 177 additions & 104 deletions arch/arm/boot/dts/nuvoton/nuvoton-common-npcm7xx.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,18 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
#include <dt-bindings/reset/nuvoton,npcm7xx-reset.h>
#include <dt-bindings/gpio/gpio.h>

/ {
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&gic>;

memory {
device_type = "memory";
reg = <0 0>;
};

/* external reference clock */
clk_refclk: clk_refclk {
compatible = "fixed-clock";
Expand Down Expand Up @@ -65,6 +71,11 @@
interrupt-parent = <&gic>;
ranges = <0x0 0xf0000000 0x00900000>;

fuse: fuse@18a000 {
compatible = "nuvoton,npcm750-fuse", "syscon", "simple-mfd";
reg = <0x18a000 0x1000>;
};

scu: scu@3fe000 {
compatible = "arm,cortex-a9-scu";
reg = <0x3fe000 0x1000>;
Expand Down Expand Up @@ -99,11 +110,6 @@
};
};

udc0_phy: usb-phy {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
};

ahb {
#address-cells = <1>;
#size-cells = <1>;
Expand All @@ -127,14 +133,7 @@
clocks = <&clk_refclk>, <&clk_sysbypck>, <&clk_mcbypck>;
};

mc: memory-controller@f0824000 {
compatible = "nuvoton,npcm750-memory-controller";
reg = <0xf0824000 0x1000>;
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};

gmac0: ethernet@f0802000 {
gmac0: eth@f0802000 {
device_type = "network";
compatible = "snps,dwmac";
reg = <0xf0802000 0x2000>;
Expand All @@ -149,6 +148,8 @@
status = "disabled";
};



emc0: eth@f0825000 {
device_type = "network";
compatible = "nuvoton,npcm750-emc";
Expand All @@ -165,43 +166,13 @@
status = "disabled";
};

sdmmc: mmc@f0842000 {
compatible = "nuvoton,npcm750-sdhci";
status = "disabled";
reg = <0xf0842000 0x200>;
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_AHB>;
clock-names = "clk_mmc";
pinctrl-names = "default";
pinctrl-0 = <&mmc8_pins
&mmc_pins>;
};

sdhci: mmc@f0840000 {
compatible = "nuvoton,npcm750-sdhci";
status = "disabled";
reg = <0xf0840000 0x200>;
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_AHB>;
clock-names = "clk_sdhc";
pinctrl-names = "default";
pinctrl-0 = <&sd1_pins>;
};

ehci1: usb@f0806000 {
compatible = "nuvoton,npcm750-ehci";
reg = <0xf0806000 0x1000>;
interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};

ohci1: usb@f0807000 {
compatible = "generic-ohci";
reg = <0xf0807000 0x1000>;
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};

fiu0: spi@fb000000 {
compatible = "nuvoton,npcm750-fiu";
#address-cells = <1>;
Expand All @@ -226,6 +197,54 @@
status = "disabled";
};

ohci1: ohci@f0807000 {
compatible = "nuvoton,npcm750-ohci";
reg = <0xf0807000 0x1000>;
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};

sdhci0: sdhci@f0842000 {
compatible = "nuvoton,npcm750-sdhci";
status = "disabled";
reg = <0xf0842000 0x200>;
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_AHB>; /*, <&clk_xin>;*/
clock-names = "clk_mmc"; /* ,"clk_xin"; */
pinctrl-names = "default";
pinctrl-0 = <&mmc8_pins
&mmc_pins>;
};

sdhci1: sdhci@f0840000 {
compatible = "nuvoton,npcm750-sdhci";
status = "disabled";
reg = <0xf0840000 0x200>;
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_AHB>; /*, <&clk_xin>;*/
clock-names = "clk_sdhc"; /* ,"clk_xin"; */
pinctrl-names = "default";
pinctrl-0 = <&sd1_pins>;
};

aes:aes@f0858000 {
compatible = "nuvoton,npcm750-aes";
reg = <0xf0858000 0x1000>;
status = "disabled";
clocks = <&clk NPCM7XX_CLK_AHB>;
clock-names = "clk_ahb";
};

sha:sha@f085a000 {
compatible = "nuvoton,npcm750-sha";
reg = <0xf085a000 0x1000>;
status = "disabled";
clocks = <&clk NPCM7XX_CLK_AHB>;
clock-names = "clk_ahb";
};



fiux: spi@fb001000 {
compatible = "nuvoton,npcm750-fiu";
#address-cells = <1>;
Expand All @@ -237,70 +256,55 @@
status = "disabled";
};

udc5: usb@f0835000 {
compatible = "nuvoton,npcm750-udc";
reg = <0xf0835000 0x1000
0xfffd2800 0x800>;
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_SU>;
clock-names = "clk_usb_bridge";
phys = <&udc0_phy>;
phy_type = "utmi_wide";
dr_mode = "peripheral";
mc: memory-controller@f0824000 {
compatible = "nuvoton,npcm750-memory-controller";
reg = <0xf0824000 0x1000>;
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};

udc6: usb@f0836000 {
compatible = "nuvoton,npcm750-udc";
reg = <0xf0836000 0x1000
0xfffd3000 0x800>;
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_SU>;
clock-names = "clk_usb_bridge";
phys = <&udc0_phy>;
phy_type = "utmi_wide";
dr_mode = "peripheral";
status = "disabled";
pcie: pcie@e1000000 {
compatible = "nuvoton,npcm750-pcie";
device_type = "pci";
reg = <0xE1000000 0x1000>,
<0xE8000000 0x1000>;
bus-range = <0x0 0xF>;
#address-cells = <3>;
#size-cells = <2>;
#interrupt-cells = <1>;
ranges = <0x01000000 0 0xe9000000 0xe9000000 0 0x00010000
0x02000000 0 0xea000000 0xea000000 0 0x02000000>;
resets = <&rstc NPCM7XX_RESET_IPSRST3 NPCM7XX_RESET_PCIE_RC>;
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0 0 0 1 &gic GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
nuvoton,sysgcr = <&gcr>;
};

udc7: usb@f0837000 {
compatible = "nuvoton,npcm750-udc";
reg = <0xf0837000 0x1000
0xfffd3800 0x800>;
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_SU>;
clock-names = "clk_usb_bridge";
phys = <&udc0_phy>;
phy_type = "utmi_wide";
dr_mode = "peripheral";
vcd: vcd@f0810000 {
compatible = "nuvoton,npcm750-vcd";
reg = <0xf0810000 0x10000>;
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
resets = <&rstc NPCM7XX_RESET_IPSRST2 NPCM7XX_RESET_VCD>;
nuvoton,sysgcr = <&gcr>;
nuvoton,sysgfxi = <&gfxi>;
nuvoton,ece = <&ece>;
status = "disabled";
};

udc8: usb@f0838000 {
compatible = "nuvoton,npcm750-udc";
reg = <0xf0838000 0x1000
0xfffd4000 0x800>;
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_SU>;
clock-names = "clk_usb_bridge";
phys = <&udc0_phy>;
phy_type = "utmi_wide";
dr_mode = "peripheral";
ece: video-codec@f0820000 {
compatible = "nuvoton,npcm750-ece";
reg = <0xf0820000 0x2000>;
interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
resets = <&rstc NPCM7XX_RESET_IPSRST2 NPCM7XX_RESET_ECE>;
status = "disabled";
};

udc9: usb@f0839000 {
compatible = "nuvoton,npcm750-udc";
reg = <0xf0839000 0x1000
0xfffd4800 0x800>;
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_SU>;
clock-names = "clk_usb_bridge";
nuvoton,sysgcr = <&gcr>;
phys = <&udc0_phy>;
phy_type = "utmi_wide";
dr_mode = "peripheral";
status = "disabled";
pcimbox: pcimbox@f0848000 {
compatible = "nuvoton,npcm750-pci-mbox",
"simple-mfd", "syscon";
reg = <0xf084C000 0x8
0xf0848000 0x3F00>;
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
};

apb {
Expand Down Expand Up @@ -344,13 +348,38 @@
};
};

peci: peci-controller@f0100000 {
compatible = "nuvoton,npcm750-peci";
reg = <0xf0100000 0x200>;
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_APB3>;
cmd-timeout-ms = <1000>;
status = "disabled";
lpc_host: lpc_host@7000 {
compatible = "nuvoton,npcm750-lpc-host",
"simple-mfd", "syscon";
reg = <0x7000 0x60>;

#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x7000 0x60>;

lpc_bpc: lpc_bpc@40 {
compatible = "nuvoton,npcm-bpc";
reg = <0x40 0x20>;
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
};

peci: peci-bus@100000 {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x100000 0x200>;

peci0: peci-bus@0 {
compatible = "nuvoton,npcm750-peci";
reg = <0x0 0x200>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_APB3>;
status = "disabled";
};
};

spi0: spi@200000 {
Expand Down Expand Up @@ -460,6 +489,35 @@
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_ADC>;
resets = <&rstc NPCM7XX_RESET_IPSRST1 NPCM7XX_RESET_ADC>;
syscon = <&fuse>;
status = "disabled";
};

sgpio1: sgpio@101000 {
compatible = "nuvoton,npcm750-sgpio";
reg = <0x101000 0x200>;
clocks = <&clk NPCM7XX_CLK_APB3>;
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&iox1_pins>;
nuvoton,input-ngpios = <64>;
nuvoton,output-ngpios = <64>;
status = "disabled";
};

sgpio2: sgpio@102000 {
compatible = "nuvoton,npcm750-sgpio";
reg = <0x102000 0x200>;
clocks = <&clk NPCM7XX_CLK_APB3>;
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&iox2_pins>;
nuvoton,input-ngpios = <64>;
nuvoton,output-ngpios = <64>;
status = "disabled";
};

Expand Down Expand Up @@ -496,6 +554,15 @@
status = "disabled";
};

otp:otp@189000 {
compatible = "nuvoton,npcm750-otp";
reg = <0x189000 0x1000
0x18a000 0x1000>;
status = "disabled";
clocks = <&clk NPCM7XX_CLK_APB4>;
clock-names = "clk_apb4";
};

i2c0: i2c@80000 {
reg = <0x80000 0x1000>;
compatible = "nuvoton,npcm750-i2c";
Expand Down Expand Up @@ -687,6 +754,12 @@
pinctrl-0 = <&smb15_pins>;
status = "disabled";
};

gfxi: gfxi@e000 {
compatible = "nuvoton,npcm750-gfxi", "syscon",
"simple-mfd";
reg = <0xe000 0x100>;
};
};
};

Expand Down
Loading