OSDN Git Service

MIPS: ingenic: DTS: Update JZ4770 support
authorPaul Cercueil <paul@crapouillou.net>
Mon, 13 Apr 2020 15:26:29 +0000 (17:26 +0200)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Wed, 29 Apr 2020 20:59:07 +0000 (22:59 +0200)
Add support for the RTC, AIC, CODEC, MMC 0/1/2, ADC, GPU, LCD,
USB OTG, USB PHY controllers.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/boot/dts/ingenic/jz4770.dtsi

index 3024c36..fa11ac9 100644 (file)
        };
 
        cgu: jz4770-cgu@10000000 {
-               compatible = "ingenic,jz4770-cgu";
+               compatible = "ingenic,jz4770-cgu", "simple-mfd";
                reg = <0x10000000 0x100>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges = <0x0 0x10000000 0x100>;
 
                clocks = <&ext>, <&osc32k>;
                clock-names = "ext", "osc32k";
 
                #clock-cells = <1>;
+
+               otg_phy: usb-phy@3c {
+                       compatible = "ingenic,jz4770-phy";
+                       reg = <0x3c 0x10>;
+
+                       clocks = <&cgu JZ4770_CLK_OTG_PHY>;
+
+                       #phy-cells = <0>;
+               };
        };
 
        tcu: timer@10002000 {
                };
        };
 
+       rtc: rtc@10003000 {
+               compatible = "ingenic,jz4770-rtc", "ingenic,jz4760-rtc";
+               reg = <0x10003000 0x40>;
+
+               interrupt-parent = <&intc>;
+               interrupts = <32>;
+       };
+
        pinctrl: pin-controller@10010000 {
                compatible = "ingenic,jz4770-pinctrl";
                reg = <0x10010000 0x600>;
                };
        };
 
+       aic: audio-controller@10020000 {
+               compatible = "ingenic,jz4770-i2s";
+               reg = <0x10020000 0x94>;
+
+               #sound-dai-cells = <0>;
+
+               clocks = <&cgu JZ4770_CLK_AIC>, <&cgu JZ4770_CLK_I2S>,
+                        <&cgu JZ4770_CLK_EXT>, <&cgu JZ4770_CLK_PLL0>;
+               clock-names = "aic", "i2s", "ext", "pll half";
+
+               interrupt-parent = <&intc>;
+               interrupts = <34>;
+
+               dmas = <&dmac0 25 0xffffffff>, <&dmac0 24 0xffffffff>;
+               dma-names = "rx", "tx";
+       };
+
+       codec: audio-codec@100200a0 {
+               compatible = "ingenic,jz4770-codec";
+               reg = <0x100200a4 0x8>;
+
+               #sound-dai-cells = <0>;
+
+               clocks = <&cgu JZ4770_CLK_AIC>;
+               clock-names = "aic";
+       };
+
+       mmc0: mmc@10021000 {
+               compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
+               reg = <0x10021000 0x1000>;
+
+               clocks = <&cgu JZ4770_CLK_MMC0>;
+               clock-names = "mmc";
+
+               interrupt-parent = <&intc>;
+               interrupts = <37>;
+
+               dmas = <&dmac1 27 0xffffffff>, <&dmac1 26 0xffffffff>;
+               dma-names = "rx", "tx";
+
+               cap-sd-highspeed;
+               cap-mmc-highspeed;
+               cap-sdio-irq;
+
+               status = "disabled";
+       };
+
+       mmc1: mmc@10022000 {
+               compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
+               reg = <0x10022000 0x1000>;
+
+               clocks = <&cgu JZ4770_CLK_MMC1>;
+               clock-names = "mmc";
+
+               interrupt-parent = <&intc>;
+               interrupts = <36>;
+
+               dmas = <&dmac1 31 0xffffffff>, <&dmac1 30 0xffffffff>;
+               dma-names = "rx", "tx";
+
+               cap-sd-highspeed;
+               cap-mmc-highspeed;
+               cap-sdio-irq;
+
+               status = "disabled";
+       };
+
+       mmc2: mmc@10023000 {
+               compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
+               reg = <0x10023000 0x1000>;
+
+               clocks = <&cgu JZ4770_CLK_MMC2>;
+               clock-names = "mmc";
+
+               interrupt-parent = <&intc>;
+               interrupts = <35>;
+
+               dmas = <&dmac1 37 0xffffffff>, <&dmac1 36 0xffffffff>;
+               dma-names = "rx", "tx";
+
+               cap-sd-highspeed;
+               cap-mmc-highspeed;
+               cap-sdio-irq;
+
+               status = "disabled";
+       };
+
        uart0: serial@10030000 {
                compatible = "ingenic,jz4770-uart";
                reg = <0x10030000 0x100>;
                status = "disabled";
        };
 
+       adc: adc@10070000 {
+               compatible = "ingenic,jz4770-adc";
+               reg = <0x10070000 0x30>;
+
+               #io-channel-cells = <1>;
+
+               clocks = <&cgu JZ4770_CLK_ADC>;
+               clock-names = "adc";
+
+               interrupt-parent = <&intc>;
+               interrupts = <18>;
+       };
+
+       gpu: gpu@13040000 {
+               compatible = "vivante,gc";
+               reg = <0x13040000 0x10000>;
+
+               clocks = <&cgu JZ4770_CLK_GPU>,
+                        <&cgu JZ4770_CLK_GPU>,
+                        <&cgu JZ4770_CLK_GPU>;
+               clock-names = "bus", "core", "shader";
+
+               interrupt-parent = <&intc>;
+               interrupts = <6>;
+       };
+
+       lcd: lcd-controller@13050000 {
+               compatible = "ingenic,jz4770-lcd";
+               reg = <0x13050000 0x300>;
+
+               interrupt-parent = <&intc>;
+               interrupts = <31>;
+
+               clocks = <&cgu JZ4770_CLK_LPCLK_MUX>;
+               clock-names = "lcd_pclk";
+       };
+
        dmac0: dma-controller@13420000 {
                compatible = "ingenic,jz4770-dma";
                reg = <0x13420000 0xC0>, <0x13420300 0x20>;
                clocks = <&cgu JZ4770_CLK_DMA>;
                interrupt-parent = <&intc>;
                interrupts = <24>;
-
-               /* Disable dmac0 until we have something that uses it */
-               status = "disabled";
        };
 
        dmac1: dma-controller@13420100 {
                clocks = <&cgu JZ4770_CLK_DMA>;
                interrupt-parent = <&intc>;
                interrupts = <23>;
-
-               /* Disable dmac1 until we have something that uses it */
-               status = "disabled";
        };
 
        uhc: uhc@13430000 {
 
                status = "disabled";
        };
+
+       usb_otg: usb@13440000 {
+               compatible = "ingenic,jz4770-musb";
+               reg = <0x13440000 0x10000>;
+
+               clocks = <&cgu JZ4770_CLK_OTG>;
+               clock-names = "udc";
+
+               interrupt-parent = <&intc>;
+               interrupts = <21>;
+               interrupt-names = "mc";
+
+               phys = <&otg_phy>;
+
+               usb-role-switch;
+       };
+
+       rom: memory@1fc00000 {
+               compatible = "mtd-rom";
+               probe-type = "map_rom";
+               reg = <0x1fc00000 0x2000>;
+
+               bank-width = <4>;
+               device-width = <1>;
+       };
 };