diff --git a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml index 79e241498e2532..09d3e9ee3939e1 100644 --- a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml +++ b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml @@ -51,7 +51,7 @@ properties: dma-channels: minimum: 1 - maximum: 8 + maximum: 16 snps,dma-masters: description: | @@ -71,14 +71,14 @@ properties: Channel priority specifier associated with the DMA channels. $ref: /schemas/types.yaml#/definitions/uint32-array minItems: 1 - maxItems: 8 + maxItems: 16 snps,block-size: description: | Channel block size specifier associated with the DMA channels. $ref: /schemas/types.yaml#/definitions/uint32-array minItems: 1 - maxItems: 8 + maxItems: 16 snps,axi-max-burst-len: description: | diff --git a/Documentation/devicetree/bindings/usb/cdns,usb3.yaml b/Documentation/devicetree/bindings/usb/cdns,usb3.yaml index a407e1143cf425..8dedfa16c9929d 100644 --- a/Documentation/devicetree/bindings/usb/cdns,usb3.yaml +++ b/Documentation/devicetree/bindings/usb/cdns,usb3.yaml @@ -28,9 +28,9 @@ properties: interrupts: minItems: 3 items: - - description: OTG/DRD controller interrupt - description: XHCI host controller interrupt - description: Device controller interrupt + - description: OTG/DRD controller interrupt - description: interrupt used to wake up core, e.g when usbcmd.rs is cleared by xhci core, this interrupt is optional diff --git a/arch/riscv/boot/dts/starfive/jh7100-starlight.dts b/arch/riscv/boot/dts/starfive/jh7100-starlight.dts index 36a1966f627324..6b18845345e35b 100644 --- a/arch/riscv/boot/dts/starfive/jh7100-starlight.dts +++ b/arch/riscv/boot/dts/starfive/jh7100-starlight.dts @@ -5,10 +5,8 @@ #include / { - #address-cells = <2>; - #size-cells = <2>; - compatible = "beagle,beaglev-starlight-jh7100"; model = "BeagleV Starlight Beta"; + compatible = "beagle,beaglev-starlight-jh7100", "starfive,jh7100"; aliases { mshc0 = &sdio0; @@ -25,6 +23,11 @@ timebase-frequency = <6250000>; }; + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x80000000 0x2 0x0>; + }; + leds { compatible = "gpio-leds"; @@ -37,25 +40,47 @@ }; }; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + linux,cma { + compatible = "shared-dma-pool"; + reusable; + size = <0x0 0x28000000>; + alignment = <0x0 0x1000>; + alloc-ranges = <0x0 0xa0000000 0x0 0x28000000>; + linux,cma-default; + }; + + jpu_reserved: framebuffer@c9000000 { + reg = <0x0 0xc9000000 0x0 0x4000000>; + }; + + nvdla_reserved: framebuffer@d0000000 { + reg = <0x0 0xd0000000 0x0 0x28000000>; + }; + + vin_reserved: framebuffer@f9000000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0xf9000000 0x0 0x1000000>; + }; + + sffb_reserved: framebuffer@fb000000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0xfb000000 0x0 0x2000000>; + }; + }; + wifi_pwrseq: wifi-pwrseq { compatible = "mmc-pwrseq-simple"; reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>; }; }; -&uart0 { - status = "okay"; -}; - -&uart3 { - status = "okay"; -}; - -&usb3 { - dr_mode = "host"; - status = "okay"; -}; - &i2c0 { imx219@10 { compatible = "imx219"; @@ -121,16 +146,6 @@ }; }; -&spi2 { - status = "okay"; - - spi_dev0: spi@0 { - compatible = "rohm,dh2228fv"; - spi-max-frequency = <10000000>; - reg = <0>; - }; -}; - &sdio0 { broken-cd; bus-width = <4>; @@ -388,3 +403,26 @@ */ }; }; + +&spi2 { + status = "okay"; + + spi_dev0: spi@0 { + compatible = "rohm,dh2228fv"; + spi-max-frequency = <10000000>; + reg = <0>; + }; +}; + +&uart0 { + status = "okay"; +}; + +&uart3 { + status = "okay"; +}; + +&usb3 { + dr_mode = "host"; + status = "okay"; +}; diff --git a/arch/riscv/boot/dts/starfive/jh7100.dtsi b/arch/riscv/boot/dts/starfive/jh7100.dtsi index b04a1c0a54e433..7fd9b4ee7471c1 100644 --- a/arch/riscv/boot/dts/starfive/jh7100.dtsi +++ b/arch/riscv/boot/dts/starfive/jh7100.dtsi @@ -7,9 +7,6 @@ #size-cells = <2>; compatible = "starfive,jh7100"; - chosen { - }; - cpus { #address-cells = <1>; #size-cells = <0>; @@ -184,56 +181,11 @@ clock-frequency = <125000000>; }; - memory@80000000 { - device_type = "memory"; - reg = <0x0 0x80000000 0x2 0x0>; - }; - - memory@3000000000 { - device_type = "memory"; - reg = <0x30 0x0 0x0 0x0>; - }; - - reserved-memory { - #address-cells = <2>; - #size-cells = <2>; - ranges; - - linux,cma { - compatible = "shared-dma-pool"; - reusable; - size = <0x0 0x28000000>; - alignment = <0x0 0x1000>; - alloc-ranges = <0x0 0xa0000000 0x0 0x28000000>; - linux,cma-default; - }; - - jpu_reserved: framebuffer@c9000000 { - reg = <0x0 0xc9000000 0x0 0x4000000>; - }; - - nvdla_reserved: framebuffer@d0000000 { - reg = <0x0 0xd0000000 0x0 0x28000000>; - }; - - vin_reserved: framebuffer@f9000000 { - compatible = "shared-dma-pool"; - no-map; - reg = <0x0 0xf9000000 0x0 0x1000000>; - }; - - sffb_reserved: framebuffer@fb000000 { - compatible = "shared-dma-pool"; - no-map; - reg = <0x0 0xfb000000 0x0 0x2000000>; - }; - }; - soc { + compatible = "starfive,jh7100", "simple-bus"; + interrupt-parent = <&plic>; #address-cells = <2>; #size-cells = <2>; - #clock-cells = <1>; - compatible = "starfive,jh7100", "simple-bus"; ranges; ccache: cache-controller@2010000 { @@ -243,7 +195,6 @@ cache-size = <2097152>; cache-unified; compatible = "sifive,fu540-c000-ccache", "starfive,ccache0", "cache"; - interrupt-parent = <&plic>; interrupts = <128 131 129 130>; /*next-level-cache = <&L40 &L36>;*/ reg = <0x0 0x2010000 0x0 0x1000>, @@ -272,7 +223,10 @@ clint: clint@2000000 { #interrupt-cells = <1>; compatible = "riscv,clint0"; - interrupts-extended = <&cpu0_intc 3 &cpu0_intc 7 &cpu1_intc 3 &cpu1_intc 7>; + interrupts-extended = <&cpu0_intc 3>, + <&cpu0_intc 7>, + <&cpu1_intc 3>, + <&cpu1_intc 7>; reg = <0x0 0x2000000 0x0 0x10000>; reg-names = "control"; }; @@ -281,7 +235,10 @@ #interrupt-cells = <1>; compatible = "riscv,plic0"; interrupt-controller; - interrupts-extended = <&cpu0_intc 11 &cpu0_intc 9 &cpu1_intc 11 &cpu1_intc 9>; + interrupts-extended = <&cpu0_intc 11>, + <&cpu0_intc 9>, + <&cpu1_intc 11>, + <&cpu1_intc 9>; reg = <0x0 0xc000000 0x0 0x4000000>; reg-names = "control"; riscv,max-priority = <7>; @@ -290,7 +247,6 @@ uart0: serial@11870000 { compatible = "snps,dw-apb-uart"; - interrupt-parent = <&plic>; interrupts = <92>; reg = <0x0 0x11870000 0x0 0x10000>; reg-io-width = <4>; @@ -304,7 +260,6 @@ uart1: serial@11880000 { compatible = "snps,dw-apb-uart"; - interrupt-parent = <&plic>; interrupts = <93>; reg = <0x0 0x11880000 0x0 0x10000>; reg-io-width = <4>; @@ -318,7 +273,6 @@ uart2: serial@12430000 { compatible = "snps,dw-apb-uart"; - interrupt-parent = <&plic>; interrupts = <72>; reg = <0x0 0x12430000 0x0 0x10000>; reg-io-width = <4>; @@ -332,7 +286,6 @@ uart3: serial@12440000 { compatible = "snps,dw-apb-uart"; - interrupt-parent = <&plic>; interrupts = <73>; reg = <0x0 0x12440000 0x0 0x10000>; reg-io-width = <4>; @@ -349,8 +302,8 @@ reg = <0x0 0x100b0000 0x0 0x10000>; clocks = <&axiclk>, <&ahb0clk>; clock-names = "core-clk", "cfgr-clk"; - interrupt-parent = <&plic>; interrupts = <2>; + #dma-cells = <1>; dma-channels = <4>; snps,dma-masters = <1>; snps,data-width = <4>; @@ -365,8 +318,8 @@ reg = <0x0 0x10500000 0x0 0x10000>; clocks = <&axiclk>, <&ahb0clk>; clock-names = "core-clk", "cfgr-clk"; - interrupt-parent = <&plic>; interrupts = <1>; + #dma-cells = <1>; dma-channels = <16>; snps,dma-masters = <1>; snps,data-width = <3>; @@ -382,9 +335,8 @@ <0x0 0x104d0000 0x0 0x10000>, // memory area for DEVICE registers <0x0 0x104e0000 0x0 0x10000>; // memory area for OTG/DRD registers reg-names = "otg", "xhci", "dev"; - interrupt-parent = <&plic>; - interrupts = <43>, <44>, <52>; - interrupt-names = "otg", "host", "peripheral"; + interrupts = <44>, <52>, <43>; + interrupt-names = "host", "peripheral", "otg"; phy-names = "cdns3,usb3-phy", "cdns3,usb2-phy"; maximum-speed = "super-speed"; status = "disabled"; @@ -392,7 +344,6 @@ gpio: gpio@11910000 { compatible = "starfive,gpio0"; - interrupt-parent = <&plic>; interrupts = <32>; reg = <0x0 0x11910000 0x0 0x10000>; reg-names = "control"; @@ -408,7 +359,6 @@ #clock-cells = <0>; compatible = "snps,designware-i2c"; reg = <0x0 0x118b0000 0x0 0x10000>; - interrupt-parent = <&plic>; interrupts = <96>; clocks = <&i2c0clk>; clock-frequency = <100000>; @@ -425,7 +375,6 @@ #clock-cells = <0>; compatible = "snps,designware-i2c"; reg = <0x0 0x118c0000 0x0 0x10000>; - interrupt-parent = <&plic>; interrupts = <97>; clocks = <&i2c0clk>; clock-frequency = <400000>; @@ -442,7 +391,6 @@ #clock-cells = <0>; compatible = "snps,designware-i2c"; reg = <0x0 0x12450000 0x0 0x10000>; - interrupt-parent = <&plic>; interrupts = <74>; clocks = <&i2c2clk>; clock-frequency = <100000>; @@ -456,7 +404,6 @@ trng: trng@118d0000 { compatible = "starfive,vic-rng"; reg = <0x0 0x118d0000 0x0 0x10000>; - interrupt-parent = <&plic>; interrupts = <98>; clocks = <&hfclk>; }; @@ -466,7 +413,6 @@ reg = <0x0 0x100d0000 0x0 0x20000>, <0x0 0x11800234 0x0 0xc>; reg-names = "secmem", "secclk"; - interrupt-parent = <&plic>; interrupts = <31>; clocks = <&hfclk>; }; @@ -481,7 +427,6 @@ gmac: ethernet@10020000 { compatible = "snps,dwmac"; reg = <0x0 0x10020000 0x0 0x10000>; - interrupt-parent = <&plic>; interrupts = <6 7>; interrupt-names = "macirq", "eth_wake_irq"; max-frame-size = <9000>; @@ -501,7 +446,6 @@ nbdla: nvdla@11940000 { compatible = "nvidia,nvdla_os_initial"; - interrupt-parent = <&plic>; interrupts = <22>; memory-region = <&nvdla_reserved>; reg = <0x0 0x11940000 0x0 0x40000>; @@ -512,7 +456,6 @@ compatible = "cm,codaj12-jpu-1"; reg = <0x0 0x11900000 0x0 0x300>; memory-region = <&jpu_reserved>; - interrupt-parent = <&plic>; interrupts = <24>; clocks = <&jpuclk>; clock-names = "jpege"; @@ -524,7 +467,6 @@ compatible = "c&m,cm511-vpu"; reg = <0 0x118f0000 0 0x10000>; //memory-region = <&vpu_reserved>; - interrupt-parent = <&plic>; interrupts = <23>; clocks = <&vpuclk>; clock-names = "vcodec"; @@ -534,7 +476,6 @@ vpu_enc: vpu_enc@118e0000 { compatible = "cm,cm521-vpu"; reg = <0x0 0x118e0000 0x0 0x4000>; - interrupt-parent = <&plic>; interrupts = <26>; clocks = <&vpuclk>; clock-names = "vcodec"; @@ -553,13 +494,12 @@ }; qspi: spi@11860000 { - compatible = "cadence,qspi", "cdns,qspi-nor"; + compatible = "cdns,qspi-nor"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x11860000 0x0 0x10000>, <0x0 0x20000000 0x0 0x20000000>; interrupts = <3>; - interrupt-parent = <&plic>; clocks = <&qspi_clk>; cdns,fifo-depth = <256>; cdns,fifo-width = <4>; @@ -573,7 +513,6 @@ compatible = "snps,dw-apb-ssi"; #address-cells = <1>; #size-cells = <0>; - interrupt-parent = <&plic>; interrupts = ; reg = <0x0 0x11890000 0x0 0x10000>; clocks = <&spiclk>; @@ -584,7 +523,6 @@ compatible = "snps,dw-apb-ssi"; #address-cells = <1>; #size-cells = <0>; - interrupt-parent = <&plic>; interrupts = ; reg = <0x0 0x118a0000 0x0 0x10000>; clocks = <&spiclk>; @@ -596,7 +534,6 @@ compatible = "snps,dw-apb-ssi"; #address-cells = <1>; #size-cells = <0>; - interrupt-parent = <&plic>; interrupts = <70>; reg = <0x0 0x12410000 0x0 0x10000>; clocks = <&spiclk>; @@ -610,7 +547,6 @@ <0x10 0x72001000 0x0 0x00fff000>, <0x0 0x124b0000 0x0 0x00010000>; clocks = <&hfclk>; - interrupt-parent = <&plic>; firmware-name = "vp6_elf"; dsp-irq = <19 20>; dsp-irq-src = <0x20 0x21>; @@ -619,8 +555,8 @@ interrupts = <27 28>; #address-cells = <1>; #size-cells = <1>; - ranges = <0x40000000 0x0 0x40000000 0x01000000 - 0xb0000000 0x10 0x70000000 0x3000000>; + ranges = <0x40000000 0x0 0x40000000 0x01000000>, + <0xb0000000 0x10 0x70000000 0x3000000>; dsp@0 { }; }; @@ -629,7 +565,6 @@ compatible = "snps,dw-mshc"; reg = <0x0 0x10000000 0x0 0x10000>; interrupts = <4>; - interrupt-parent = <&plic>; clocks = <&dwmmc_biuclk>; clock-names = "biu"; clock-frequency = <100000000>; @@ -643,7 +578,6 @@ compatible = "snps,dw-mshc"; reg = <0x0 0x10010000 0x0 0x10000>; interrupts = <5>; - interrupt-parent = <&plic>; clocks = <&dwmmc_biuclk>; clock-names = "biu"; clock-frequency = <100000000>; @@ -655,7 +589,6 @@ sfivefb: sfivefb@12000000 { compatible = "starfive,vpp-lcdc"; - interrupt-parent = <&plic>; interrupts = <101>, <103>; interrupt-names = "lcdc_irq", "vpp1_irq"; reg = <0x0 0x12000000 0x0 0x10000>, @@ -688,7 +621,6 @@ <0x0 0x11858000 0x0 0x10000>; reg-names = "mipi0", "vclk", "vrst", "mipi1", "sctrl", "isp0", "isp1", "tclk", "trst", "iopad"; - interrupt-parent = <&plic>; interrupts = <119 109>; memory-region = <&vin_reserved>; /*defaule config for imx219 vin&isp*/ @@ -711,7 +643,6 @@ #thermal-sensor-cells = <0>; compatible = "sfc,tempsensor"; reg = <0x0 0x124a0000 0x0 0x1000>; - interrupt-parent = <&plic>; interrupts = <122>; }; diff --git a/drivers/mmc/host/dw_mmc-pltfm.c b/drivers/mmc/host/dw_mmc-pltfm.c index 73731cd3ba2315..9901208be7973f 100644 --- a/drivers/mmc/host/dw_mmc-pltfm.c +++ b/drivers/mmc/host/dw_mmc-pltfm.c @@ -17,7 +17,6 @@ #include #include #include -#include #include "dw_mmc.h" #include "dw_mmc-pltfm.h"