12d1951feSAndy Yan/* 22d1951feSAndy Yan * (C) Copyright 2016 Rockchip Electronics Co., Ltd 32d1951feSAndy Yan * 42d1951feSAndy Yan * SPDX-License-Identifier: GPL-2.0+ 52d1951feSAndy Yan */ 62d1951feSAndy Yan 72d1951feSAndy Yan#include <dt-bindings/gpio/gpio.h> 82d1951feSAndy Yan#include <dt-bindings/interrupt-controller/irq.h> 92d1951feSAndy Yan#include <dt-bindings/interrupt-controller/arm-gic.h> 102d1951feSAndy Yan#include <dt-bindings/clock/rv1108-cru.h> 112d1951feSAndy Yan#include <dt-bindings/pinctrl/rockchip.h> 12a41197efSSandy Huang#include <dt-bindings/media/rockchip_mipi_dsi.h> 13a41197efSSandy Huang#include <linux/media-bus-format.h> 142d1951feSAndy Yan/ { 152d1951feSAndy Yan #address-cells = <1>; 162d1951feSAndy Yan #size-cells = <1>; 172d1951feSAndy Yan 182d1951feSAndy Yan compatible = "rockchip,rv1108"; 192d1951feSAndy Yan 202d1951feSAndy Yan interrupt-parent = <&gic>; 212d1951feSAndy Yan 222d1951feSAndy Yan aliases { 232fe2ebadSElaine Zhang i2c0 = &i2c0; 242d1951feSAndy Yan serial0 = &uart0; 252d1951feSAndy Yan serial1 = &uart1; 262d1951feSAndy Yan serial2 = &uart2; 272d1951feSAndy Yan spi0 = &sfc; 282d1951feSAndy Yan }; 292d1951feSAndy Yan 302d1951feSAndy Yan cpus { 312d1951feSAndy Yan #address-cells = <1>; 322d1951feSAndy Yan #size-cells = <0>; 332d1951feSAndy Yan 342d1951feSAndy Yan cpu0: cpu@f00 { 352d1951feSAndy Yan device_type = "cpu"; 362d1951feSAndy Yan compatible = "arm,cortex-a7"; 372d1951feSAndy Yan reg = <0xf00>; 382d1951feSAndy Yan }; 392d1951feSAndy Yan }; 402d1951feSAndy Yan 412d1951feSAndy Yan arm-pmu { 422d1951feSAndy Yan compatible = "arm,cortex-a7-pmu"; 432d1951feSAndy Yan interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 442d1951feSAndy Yan }; 452d1951feSAndy Yan 46a41197efSSandy Huang display_subsystem: display-subsystem { 47a41197efSSandy Huang compatible = "rockchip,display-subsystem"; 48a41197efSSandy Huang ports = <&vop_out>; 49a41197efSSandy Huang status = "disabled"; 50a41197efSSandy Huang 51a41197efSSandy Huang route { 52a41197efSSandy Huang route_dsi: route-dsi { 53a41197efSSandy Huang status = "okay"; 54a41197efSSandy Huang logo,uboot = "logo.bmp"; 55a41197efSSandy Huang logo,kernel = "logo_kernel.bmp"; 56a41197efSSandy Huang logo,mode = "center"; 57a41197efSSandy Huang charge_logo,mode = "center"; 58a41197efSSandy Huang connect = <&vop_out_mipi>; 59a41197efSSandy Huang }; 60a41197efSSandy Huang }; 61a41197efSSandy Huang }; 62a41197efSSandy Huang 63a41197efSSandy Huang mipi_dphy: mipi-dphy@0x20228000 { 64a41197efSSandy Huang compatible = "rockchip,rv1108-mipi-dphy"; 65a41197efSSandy Huang reg = <0x20228000 0x8000>; 66a41197efSSandy Huang clock-output-names = "mipi_dphy_pll"; 67a41197efSSandy Huang #clock-cells = <0>; 68a41197efSSandy Huang resets = <&cru PRST_MIPI_DSI_PHY>; 69a41197efSSandy Huang reset-names = "apb"; 70a41197efSSandy Huang #phy-cells = <0>; 71a41197efSSandy Huang status = "disabled"; 72a41197efSSandy Huang }; 73a41197efSSandy Huang 74a41197efSSandy Huang dsi: dsi@300e0000 { 75a41197efSSandy Huang compatible = "rockchip,rv1108-mipi-dsi"; 76a41197efSSandy Huang reg = <0x300e0000 0x10000>; 77a41197efSSandy Huang interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 78a41197efSSandy Huang clocks = <&cru PCLK_MIPI_DSI>, <&mipi_dphy>; 79a41197efSSandy Huang clock-names = "pclk", "hs_clk"; 80a41197efSSandy Huang resets = <&cru 127>; 81a41197efSSandy Huang reset-names = "apb"; 82a41197efSSandy Huang phys = <&mipi_dphy>; 83a41197efSSandy Huang phy-names = "mipi_dphy"; 84a41197efSSandy Huang rockchip,grf = <&grf>; 85a41197efSSandy Huang #address-cells = <1>; 86a41197efSSandy Huang #size-cells = <0>; 87a41197efSSandy Huang pinctrl-names = "default"; 88a41197efSSandy Huang pinctrl-0 = <&lcdc_mipi_data>; 89a41197efSSandy Huang status = "disabled"; 90a41197efSSandy Huang 91a41197efSSandy Huang ports { 92a41197efSSandy Huang #address-cells = <1>; 93a41197efSSandy Huang #size-cells = <0>; 94a41197efSSandy Huang 95a41197efSSandy Huang port@0 { 96a41197efSSandy Huang reg = <0>; 97a41197efSSandy Huang 98a41197efSSandy Huang #address-cells = <1>; 99a41197efSSandy Huang #size-cells = <0>; 100a41197efSSandy Huang 101a41197efSSandy Huang mipi_in_vop: endpoint@0 { 102a41197efSSandy Huang reg = <0>; 103a41197efSSandy Huang remote-endpoint = <&vop_out_mipi>; 104a41197efSSandy Huang }; 105a41197efSSandy Huang }; 106a41197efSSandy Huang 107a41197efSSandy Huang }; 108a41197efSSandy Huang }; 109a41197efSSandy Huang 1102d1951feSAndy Yan timer { 1112d1951feSAndy Yan compatible = "arm,armv7-timer"; 1122d1951feSAndy Yan interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>, 1132d1951feSAndy Yan <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 1142d1951feSAndy Yan clock-frequency = <24000000>; 1152d1951feSAndy Yan }; 1162d1951feSAndy Yan 1172d1951feSAndy Yan xin24m: oscillator { 1182d1951feSAndy Yan compatible = "fixed-clock"; 1192d1951feSAndy Yan clock-frequency = <24000000>; 1202d1951feSAndy Yan clock-output-names = "xin24m"; 1212d1951feSAndy Yan #clock-cells = <0>; 1222d1951feSAndy Yan }; 1232d1951feSAndy Yan 1242d1951feSAndy Yan amba { 1252d1951feSAndy Yan compatible = "simple-bus"; 1262d1951feSAndy Yan #address-cells = <1>; 1272d1951feSAndy Yan #size-cells = <1>; 1282d1951feSAndy Yan ranges; 1292d1951feSAndy Yan 1302d1951feSAndy Yan pdma: pdma@102a0000 { 1312d1951feSAndy Yan compatible = "arm,pl330", "arm,primecell"; 1322d1951feSAndy Yan reg = <0x102a0000 0x4000>; 1332d1951feSAndy Yan interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 1342d1951feSAndy Yan #dma-cells = <1>; 1352d1951feSAndy Yan arm,pl330-broken-no-flushp; 1362d1951feSAndy Yan clocks = <&cru ACLK_DMAC>; 1372d1951feSAndy Yan clock-names = "apb_pclk"; 1382d1951feSAndy Yan }; 1392d1951feSAndy Yan }; 1402d1951feSAndy Yan 1412d1951feSAndy Yan bus_intmem@10080000 { 1422d1951feSAndy Yan compatible = "mmio-sram"; 1432d1951feSAndy Yan reg = <0x10080000 0x2000>; 1442d1951feSAndy Yan #address-cells = <1>; 1452d1951feSAndy Yan #size-cells = <1>; 1462d1951feSAndy Yan ranges = <0 0x10080000 0x2000>; 1472d1951feSAndy Yan }; 1482d1951feSAndy Yan 1492d1951feSAndy Yan uart2: serial@10210000 { 1502d1951feSAndy Yan compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart"; 1512d1951feSAndy Yan reg = <0x10210000 0x100>; 1522d1951feSAndy Yan interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 1532d1951feSAndy Yan reg-shift = <2>; 1542d1951feSAndy Yan reg-io-width = <4>; 1552d1951feSAndy Yan clock-frequency = <24000000>; 1562d1951feSAndy Yan clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 1572d1951feSAndy Yan clock-names = "baudclk", "apb_pclk"; 1582d1951feSAndy Yan pinctrl-names = "default"; 1592d1951feSAndy Yan pinctrl-0 = <&uart2m0_xfer>; 1602d1951feSAndy Yan status = "disabled"; 1612d1951feSAndy Yan }; 1622d1951feSAndy Yan 1632d1951feSAndy Yan uart1: serial@10220000 { 1642d1951feSAndy Yan compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart"; 1652d1951feSAndy Yan reg = <0x10220000 0x100>; 1662d1951feSAndy Yan interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 1672d1951feSAndy Yan reg-shift = <2>; 1682d1951feSAndy Yan reg-io-width = <4>; 1692d1951feSAndy Yan clock-frequency = <24000000>; 1702d1951feSAndy Yan clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 1712d1951feSAndy Yan clock-names = "baudclk", "apb_pclk"; 1722d1951feSAndy Yan pinctrl-names = "default"; 1732d1951feSAndy Yan pinctrl-0 = <&uart1_xfer>; 1742d1951feSAndy Yan status = "disabled"; 1752d1951feSAndy Yan }; 1762d1951feSAndy Yan 1772d1951feSAndy Yan uart0: serial@10230000 { 1782d1951feSAndy Yan compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart"; 1792d1951feSAndy Yan reg = <0x10230000 0x100>; 1802d1951feSAndy Yan interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 1812d1951feSAndy Yan reg-shift = <2>; 1822d1951feSAndy Yan reg-io-width = <4>; 1832d1951feSAndy Yan clock-frequency = <24000000>; 1842d1951feSAndy Yan clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 1852d1951feSAndy Yan clock-names = "baudclk", "apb_pclk"; 1862d1951feSAndy Yan pinctrl-names = "default"; 1872d1951feSAndy Yan pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 1882d1951feSAndy Yan status = "disabled"; 1892d1951feSAndy Yan }; 1902d1951feSAndy Yan 1912d1951feSAndy Yan grf: syscon@10300000 { 1922d1951feSAndy Yan compatible = "rockchip,rv1108-grf", "syscon"; 1932d1951feSAndy Yan reg = <0x10300000 0x1000>; 1942d1951feSAndy Yan }; 1952d1951feSAndy Yan 196e33aecafSWu Liang feng u2phy: usb2-phy@10300100 { 197e33aecafSWu Liang feng compatible = "rockchip,rv1108-usb2phy"; 198e33aecafSWu Liang feng reg = <0x100 0x0c>; 199e33aecafSWu Liang feng rockchip,grf = <&grf>; 200e33aecafSWu Liang feng #phy-cells = <1>; 201e33aecafSWu Liang feng status = "disabled"; 202e33aecafSWu Liang feng 203e33aecafSWu Liang feng u2phy_otg: otg-port { 204e33aecafSWu Liang feng interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 205e33aecafSWu Liang feng interrupt-names = "otg-mux"; 206e33aecafSWu Liang feng #phy-cells = <0>; 207e33aecafSWu Liang feng status = "disabled"; 208e33aecafSWu Liang feng }; 209e33aecafSWu Liang feng 210e33aecafSWu Liang feng u2phy_host: host-port { 211e33aecafSWu Liang feng interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 212e33aecafSWu Liang feng interrupt-names = "linestate"; 213e33aecafSWu Liang feng #phy-cells = <0>; 214e33aecafSWu Liang feng status = "disabled"; 215e33aecafSWu Liang feng }; 216e33aecafSWu Liang feng }; 217e33aecafSWu Liang feng 218a0898465SDavid Wu saradc: saradc@1038c000 { 219a0898465SDavid Wu compatible = "rockchip,rv1108-saradc", "rockchip,rk3399-saradc"; 220a0898465SDavid Wu reg = <0x1038c000 0x100>; 221a0898465SDavid Wu interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 222a0898465SDavid Wu #io-channel-cells = <1>; 223a0898465SDavid Wu clock-frequency = <1000000>; 224a0898465SDavid Wu clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 225a0898465SDavid Wu clock-names = "saradc", "apb_pclk"; 226a0898465SDavid Wu status = "disabled"; 227a0898465SDavid Wu }; 228a0898465SDavid Wu 229544f4e91SNickey Yang pwm0: pwm@20040000 { 230544f4e91SNickey Yang compatible = "rockchip,rk1108-pwm", "rockchip,rk3328-pwm"; 231544f4e91SNickey Yang reg = <0x20040000 0x10>; 232544f4e91SNickey Yang interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 233544f4e91SNickey Yang #pwm-cells = <3>; 234544f4e91SNickey Yang pinctrl-names = "active"; 235544f4e91SNickey Yang pinctrl-0 = <&pwm0_pin>; 236544f4e91SNickey Yang clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 237544f4e91SNickey Yang clock-names = "pwm", "pclk"; 238544f4e91SNickey Yang status = "disabled"; 239544f4e91SNickey Yang }; 240544f4e91SNickey Yang 2412d1951feSAndy Yan pmugrf: syscon@20060000 { 2422d1951feSAndy Yan compatible = "rockchip,rv1108-pmugrf", "syscon"; 2432d1951feSAndy Yan reg = <0x20060000 0x1000>; 2442d1951feSAndy Yan }; 2452d1951feSAndy Yan 2462d1951feSAndy Yan cru: clock-controller@20200000 { 2472d1951feSAndy Yan compatible = "rockchip,rv1108-cru"; 2482d1951feSAndy Yan reg = <0x20200000 0x1000>; 2492d1951feSAndy Yan rockchip,grf = <&grf>; 2502d1951feSAndy Yan #clock-cells = <1>; 2512d1951feSAndy Yan #reset-cells = <1>; 2522d1951feSAndy Yan }; 2532fe2ebadSElaine Zhang i2c0: i2c@20000000 { 2542fe2ebadSElaine Zhang compatible = "rockchip,rv1108-i2c"; 2552fe2ebadSElaine Zhang reg = <0x20000000 0x1000>; 2562fe2ebadSElaine Zhang interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 2572fe2ebadSElaine Zhang rockchip,grf = <&grf>; 2582fe2ebadSElaine Zhang #address-cells = <1>; 2592fe2ebadSElaine Zhang #size-cells = <0>; 2602fe2ebadSElaine Zhang clocks = <&cru SCLK_I2C0_PMU>, <&cru PCLK_I2C0_PMU>; 2612fe2ebadSElaine Zhang clock-names = "i2c", "pclk"; 2622fe2ebadSElaine Zhang pinctrl-names = "default"; 2632fe2ebadSElaine Zhang pinctrl-0 = <&i2c0_xfer>; 2642fe2ebadSElaine Zhang status = "disabled"; 2652fe2ebadSElaine Zhang }; 266e33aecafSWu Liang feng usbgrf: syscon@202a0000 { 267e33aecafSWu Liang feng compatible = "rockchip,rv1108-usbgrf", "syscon"; 268e33aecafSWu Liang feng reg = <0x202a0000 0x1000>; 269e33aecafSWu Liang feng }; 270e33aecafSWu Liang feng 271039b194eSJon Lin nandc: nandc@30100000 { 272039b194eSJon Lin compatible = "rockchip,rk-nandc"; 273039b194eSJon Lin reg = <0x30100000 0x1000>; 274039b194eSJon Lin interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 275039b194eSJon Lin nandc_id = <0>; 276039b194eSJon Lin clocks = <&cru SCLK_NANDC>, <&cru HCLK_NANDC>; 277039b194eSJon Lin clock-names = "clk_nandc", "hclk_nandc"; 278039b194eSJon Lin status = "disabled"; 279039b194eSJon Lin }; 280039b194eSJon Lin 2812d1951feSAndy Yan emmc: dwmmc@30110000 { 2822d1951feSAndy Yan compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc"; 2832d1951feSAndy Yan clock-freq-min-max = <400000 150000000>; 2842d1951feSAndy Yan clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 2852d1951feSAndy Yan <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 2862d1951feSAndy Yan clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 2872d1951feSAndy Yan fifo-depth = <0x100>; 2882d1951feSAndy Yan interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 2892d1951feSAndy Yan reg = <0x30110000 0x4000>; 2902d1951feSAndy Yan status = "disabled"; 2912d1951feSAndy Yan }; 2922d1951feSAndy Yan 2932d1951feSAndy Yan sdio: dwmmc@30120000 { 2942d1951feSAndy Yan compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc"; 2952d1951feSAndy Yan clock-freq-min-max = <400000 150000000>; 2962d1951feSAndy Yan clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 2972d1951feSAndy Yan <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 2982d1951feSAndy Yan clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 2992d1951feSAndy Yan fifo-depth = <0x100>; 3002d1951feSAndy Yan interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 3012d1951feSAndy Yan reg = <0x30120000 0x4000>; 3022d1951feSAndy Yan status = "disabled"; 3032d1951feSAndy Yan }; 3042d1951feSAndy Yan 3052d1951feSAndy Yan sdmmc: dwmmc@30130000 { 3062d1951feSAndy Yan compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc"; 3072d1951feSAndy Yan clock-freq-min-max = <400000 100000000>; 3082d1951feSAndy Yan clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 3092d1951feSAndy Yan <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 3102d1951feSAndy Yan clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 31141beaf39SJason Zhu cd-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 3122d1951feSAndy Yan fifo-depth = <0x100>; 3132d1951feSAndy Yan interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 3142d1951feSAndy Yan reg = <0x30130000 0x4000>; 3152d1951feSAndy Yan status = "disabled"; 3162d1951feSAndy Yan }; 3172d1951feSAndy Yan 31803e886f9SWilliam Wu usb_host_ehci: usb@30140000 { 31903e886f9SWilliam Wu compatible = "generic-ehci"; 32003e886f9SWilliam Wu reg = <0x30140000 0x20000>; 32103e886f9SWilliam Wu interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 3223b296e2bSMengDongyang phys = <&u2phy_host>; 323e33aecafSWu Liang feng phy-names = "usb"; 32403e886f9SWilliam Wu status = "disabled"; 32503e886f9SWilliam Wu }; 32603e886f9SWilliam Wu 32703e886f9SWilliam Wu usb_host_ohci: usb@30160000 { 32803e886f9SWilliam Wu compatible = "generic-ohci"; 32903e886f9SWilliam Wu reg = <0x30160000 0x20000>; 33003e886f9SWilliam Wu interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 3313b296e2bSMengDongyang phys = <&u2phy_host>; 332e33aecafSWu Liang feng phy-names = "usb"; 33303e886f9SWilliam Wu status = "disabled"; 33403e886f9SWilliam Wu }; 33503e886f9SWilliam Wu 33603e886f9SWilliam Wu usb20_otg: usb@30180000 { 33703e886f9SWilliam Wu compatible = "rockchip,rv1108-usb", "rockchip,rk3288-usb", 33803e886f9SWilliam Wu "snps,dwc2"; 33903e886f9SWilliam Wu reg = <0x30180000 0x40000>; 34003e886f9SWilliam Wu interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 34103e886f9SWilliam Wu hnp-srp-disable; 34203e886f9SWilliam Wu dr_mode = "otg"; 3433b296e2bSMengDongyang phys = <&u2phy_otg>; 344e33aecafSWu Liang feng phy-names = "usb"; 34503e886f9SWilliam Wu status = "disabled"; 34603e886f9SWilliam Wu }; 34703e886f9SWilliam Wu 3482d1951feSAndy Yan sfc: sfc@301c0000 { 3492d1951feSAndy Yan compatible = "rockchip,sfc"; 3502d1951feSAndy Yan reg = <0x301c0000 0x200>; 3512d1951feSAndy Yan #address-cells = <1>; 3522d1951feSAndy Yan #size-cells = <0>; 3532d1951feSAndy Yan interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 3542d1951feSAndy Yan clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 3552d1951feSAndy Yan clock-names = "clk_sfc", "hclk_sfc"; 3562d1951feSAndy Yan pinctrl-0 = <&sfc_pins>; 3572d1951feSAndy Yan pinctrl-names = "default"; 3582d1951feSAndy Yan status = "disabled"; 3592d1951feSAndy Yan }; 3602d1951feSAndy Yan 3612d1951feSAndy Yan gmac: ethernet@30200000 { 3622d1951feSAndy Yan compatible = "rockchip,rv1108-gmac"; 3632d1951feSAndy Yan reg = <0x30200000 0x10000>; 3642d1951feSAndy Yan interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 3652d1951feSAndy Yan interrupt-names = "macirq"; 3662d1951feSAndy Yan rockchip,grf = <&grf>; 3672d1951feSAndy Yan clocks = <&cru SCLK_MAC>, 3682d1951feSAndy Yan <&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>, 3691636e7c2SElaine Zhang <&cru SCLK_MAC_REF>, <&cru SCLK_MAC_REFOUT>, 3702d1951feSAndy Yan <&cru ACLK_GMAC>, <&cru PCLK_GMAC>; 3712d1951feSAndy Yan clock-names = "stmmaceth", 3722d1951feSAndy Yan "mac_clk_rx", "mac_clk_tx", 3732d1951feSAndy Yan "clk_mac_ref", "clk_mac_refout", 3742d1951feSAndy Yan "aclk_mac", "pclk_mac"; 3752d1951feSAndy Yan pinctrl-names = "default"; 3762d1951feSAndy Yan pinctrl-0 = <&rmii_pins>; 3772d1951feSAndy Yan phy-mode = "rmii"; 3782d1951feSAndy Yan max-speed = <100>; 3792d1951feSAndy Yan status = "disabled"; 3802d1951feSAndy Yan }; 3812d1951feSAndy Yan 3822d1951feSAndy Yan gic: interrupt-controller@32010000 { 3832d1951feSAndy Yan compatible = "arm,gic-400"; 3842d1951feSAndy Yan interrupt-controller; 3852d1951feSAndy Yan #interrupt-cells = <3>; 3862d1951feSAndy Yan #address-cells = <0>; 3872d1951feSAndy Yan 3882d1951feSAndy Yan reg = <0x32011000 0x1000>, 3892d1951feSAndy Yan <0x32012000 0x1000>, 3902d1951feSAndy Yan <0x32014000 0x2000>, 3912d1951feSAndy Yan <0x32016000 0x2000>; 3922d1951feSAndy Yan interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 3932d1951feSAndy Yan }; 3942d1951feSAndy Yan 3952d1951feSAndy Yan pinctrl: pinctrl { 3962d1951feSAndy Yan compatible = "rockchip,rv1108-pinctrl"; 3972d1951feSAndy Yan rockchip,grf = <&grf>; 3982d1951feSAndy Yan rockchip,pmu = <&pmugrf>; 3992d1951feSAndy Yan #address-cells = <1>; 4002d1951feSAndy Yan #size-cells = <1>; 4012d1951feSAndy Yan ranges; 4022d1951feSAndy Yan 4032d1951feSAndy Yan gpio0: gpio0@20030000 { 4042d1951feSAndy Yan compatible = "rockchip,gpio-bank"; 4052d1951feSAndy Yan reg = <0x20030000 0x100>; 4062d1951feSAndy Yan interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 4072d1951feSAndy Yan clocks = <&xin24m>; 4082d1951feSAndy Yan 4092d1951feSAndy Yan gpio-controller; 4102d1951feSAndy Yan #gpio-cells = <2>; 4112d1951feSAndy Yan 4122d1951feSAndy Yan interrupt-controller; 4132d1951feSAndy Yan #interrupt-cells = <2>; 4142d1951feSAndy Yan }; 4152d1951feSAndy Yan 4162d1951feSAndy Yan gpio1: gpio1@10310000 { 4172d1951feSAndy Yan compatible = "rockchip,gpio-bank"; 4182d1951feSAndy Yan reg = <0x10310000 0x100>; 4192d1951feSAndy Yan interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 4202d1951feSAndy Yan clocks = <&xin24m>; 4212d1951feSAndy Yan 4222d1951feSAndy Yan gpio-controller; 4232d1951feSAndy Yan #gpio-cells = <2>; 4242d1951feSAndy Yan 4252d1951feSAndy Yan interrupt-controller; 4262d1951feSAndy Yan #interrupt-cells = <2>; 4272d1951feSAndy Yan }; 4282d1951feSAndy Yan 4292d1951feSAndy Yan gpio2: gpio2@10320000 { 4302d1951feSAndy Yan compatible = "rockchip,gpio-bank"; 4312d1951feSAndy Yan reg = <0x10320000 0x100>; 4322d1951feSAndy Yan interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 4332d1951feSAndy Yan clocks = <&xin24m>; 4342d1951feSAndy Yan 4352d1951feSAndy Yan gpio-controller; 4362d1951feSAndy Yan #gpio-cells = <2>; 4372d1951feSAndy Yan 4382d1951feSAndy Yan interrupt-controller; 4392d1951feSAndy Yan #interrupt-cells = <2>; 4402d1951feSAndy Yan }; 4412d1951feSAndy Yan 4422d1951feSAndy Yan gpio3: gpio3@10330000 { 4432d1951feSAndy Yan compatible = "rockchip,gpio-bank"; 4442d1951feSAndy Yan reg = <0x10330000 0x100>; 4452d1951feSAndy Yan interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 4462d1951feSAndy Yan clocks = <&xin24m>; 4472d1951feSAndy Yan 4482d1951feSAndy Yan gpio-controller; 4492d1951feSAndy Yan #gpio-cells = <2>; 4502d1951feSAndy Yan 4512d1951feSAndy Yan interrupt-controller; 4522d1951feSAndy Yan #interrupt-cells = <2>; 4532d1951feSAndy Yan }; 4542d1951feSAndy Yan 4552d1951feSAndy Yan pcfg_pull_up: pcfg-pull-up { 4562d1951feSAndy Yan bias-pull-up; 4572d1951feSAndy Yan }; 4582d1951feSAndy Yan 4592d1951feSAndy Yan pcfg_pull_down: pcfg-pull-down { 4602d1951feSAndy Yan bias-pull-down; 4612d1951feSAndy Yan }; 4622d1951feSAndy Yan 4632d1951feSAndy Yan pcfg_pull_none: pcfg-pull-none { 4642d1951feSAndy Yan bias-disable; 4652d1951feSAndy Yan }; 4662d1951feSAndy Yan 4672d1951feSAndy Yan pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 4682d1951feSAndy Yan drive-strength = <8>; 4692d1951feSAndy Yan }; 4702d1951feSAndy Yan 4712d1951feSAndy Yan pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma { 4722d1951feSAndy Yan drive-strength = <12>; 4732d1951feSAndy Yan }; 4742d1951feSAndy Yan 4752d1951feSAndy Yan pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 4762d1951feSAndy Yan bias-pull-up; 4772d1951feSAndy Yan drive-strength = <8>; 4782d1951feSAndy Yan }; 4792d1951feSAndy Yan 4802d1951feSAndy Yan pcfg_pull_none_drv_4ma: pcfg-pull-none-drv-4ma { 4812d1951feSAndy Yan drive-strength = <4>; 4822d1951feSAndy Yan }; 4832d1951feSAndy Yan 4842d1951feSAndy Yan pcfg_pull_up_drv_4ma: pcfg-pull-up-drv-4ma { 4852d1951feSAndy Yan bias-pull-up; 4862d1951feSAndy Yan drive-strength = <4>; 4872d1951feSAndy Yan }; 4882d1951feSAndy Yan 4892fe2ebadSElaine Zhang pcfg_pull_none_smt: pcfg-pull-none-smt { 4902fe2ebadSElaine Zhang bias-disable; 4912fe2ebadSElaine Zhang input-schmitt-enable; 4922fe2ebadSElaine Zhang }; 4932fe2ebadSElaine Zhang 4942d1951feSAndy Yan pcfg_output_high: pcfg-output-high { 4952d1951feSAndy Yan output-high; 4962d1951feSAndy Yan }; 4972d1951feSAndy Yan 4982d1951feSAndy Yan pcfg_output_low: pcfg-output-low { 4992d1951feSAndy Yan output-low; 5002d1951feSAndy Yan }; 5012d1951feSAndy Yan 5022d1951feSAndy Yan pcfg_input_high: pcfg-input-high { 5032d1951feSAndy Yan bias-pull-up; 5042d1951feSAndy Yan input-enable; 5052d1951feSAndy Yan }; 5062d1951feSAndy Yan 507544f4e91SNickey Yang pwm0 { 508544f4e91SNickey Yang pwm0_pin: pwm0-pin { 509544f4e91SNickey Yang rockchip,pins = <0 RK_PC5 RK_FUNC_1 &pcfg_pull_none>; 510544f4e91SNickey Yang }; 511544f4e91SNickey Yang }; 512544f4e91SNickey Yang 5132d1951feSAndy Yan gmac { 5142d1951feSAndy Yan rmii_pins: rmii-pins { 5152d1951feSAndy Yan rockchip,pins = <1 RK_PC5 RK_FUNC_2 &pcfg_pull_none>, 5162d1951feSAndy Yan <1 RK_PC3 RK_FUNC_2 &pcfg_pull_none>, 5172d1951feSAndy Yan <1 RK_PC4 RK_FUNC_2 &pcfg_pull_none>, 5182d1951feSAndy Yan <1 RK_PB2 RK_FUNC_3 &pcfg_pull_none_drv_12ma>, 5192d1951feSAndy Yan <1 RK_PB3 RK_FUNC_3 &pcfg_pull_none_drv_12ma>, 5202d1951feSAndy Yan <1 RK_PB4 RK_FUNC_3 &pcfg_pull_none_drv_12ma>, 5212d1951feSAndy Yan <1 RK_PB5 RK_FUNC_3 &pcfg_pull_none>, 5222d1951feSAndy Yan <1 RK_PB6 RK_FUNC_3 &pcfg_pull_none>, 5232d1951feSAndy Yan <1 RK_PB7 RK_FUNC_3 &pcfg_pull_none>, 5242d1951feSAndy Yan <1 RK_PC2 RK_FUNC_3 &pcfg_pull_none>; 5252d1951feSAndy Yan }; 5262d1951feSAndy Yan }; 5272d1951feSAndy Yan 528a41197efSSandy Huang gpio1_lcdc { 529a41197efSSandy Huang lcdc_mipi_data: lcdc-mipi_data { 530a41197efSSandy Huang rockchip,pins = <1 RK_PA0 RK_FUNC_1 &pcfg_pull_none>, /* DSI_CLKP */ 531a41197efSSandy Huang <1 RK_PA1 RK_FUNC_1 &pcfg_pull_none>, /* DSI_CLKN */ 532a41197efSSandy Huang <1 RK_PA2 RK_FUNC_1 &pcfg_pull_none>, /* D0P */ 533a41197efSSandy Huang <1 RK_PA3 RK_FUNC_1 &pcfg_pull_none>, /* D0N */ 534a41197efSSandy Huang <1 RK_PA4 RK_FUNC_1 &pcfg_pull_none>, /* D1P */ 535a41197efSSandy Huang <1 RK_PA5 RK_FUNC_1 &pcfg_pull_none>, /* D1N */ 536a41197efSSandy Huang <1 RK_PA6 RK_FUNC_1 &pcfg_pull_none>, /* D2P */ 537a41197efSSandy Huang <1 RK_PA7 RK_FUNC_1 &pcfg_pull_none>, /* D2N */ 538a41197efSSandy Huang <1 RK_PB0 RK_FUNC_1 &pcfg_pull_none>, /* D3P */ 539a41197efSSandy Huang <1 RK_PB1 RK_FUNC_1 &pcfg_pull_none>, /* D3N */ 540a41197efSSandy Huang <1 RK_PC1 RK_FUNC_1 &pcfg_pull_none>, /* D10 */ 541a41197efSSandy Huang <1 RK_PC0 RK_FUNC_1 &pcfg_pull_none>; /* D11 */ 542a41197efSSandy Huang }; 543a41197efSSandy Huang }; 544a41197efSSandy Huang 5452fe2ebadSElaine Zhang i2c0 { 5462fe2ebadSElaine Zhang i2c0_xfer: i2c0-xfer { 5472fe2ebadSElaine Zhang rockchip,pins = <0 RK_PB1 RK_FUNC_1 &pcfg_pull_none_smt>, 5482fe2ebadSElaine Zhang <0 RK_PB2 RK_FUNC_1 &pcfg_pull_none_smt>; 5492fe2ebadSElaine Zhang }; 5502fe2ebadSElaine Zhang }; 5512fe2ebadSElaine Zhang 5522d1951feSAndy Yan i2c1 { 5532d1951feSAndy Yan i2c1_xfer: i2c1-xfer { 5542d1951feSAndy Yan rockchip,pins = <2 RK_PD3 RK_FUNC_1 &pcfg_pull_up>, 5552d1951feSAndy Yan <2 RK_PD4 RK_FUNC_1 &pcfg_pull_up>; 5562d1951feSAndy Yan }; 5572d1951feSAndy Yan }; 5582d1951feSAndy Yan 5592d1951feSAndy Yan i2c2m1 { 5602d1951feSAndy Yan i2c2m1_xfer: i2c2m1-xfer { 5612d1951feSAndy Yan rockchip,pins = <0 RK_PC2 RK_FUNC_2 &pcfg_pull_none>, 5622d1951feSAndy Yan <0 RK_PC6 RK_FUNC_3 &pcfg_pull_none>; 5632d1951feSAndy Yan }; 5642d1951feSAndy Yan 5652d1951feSAndy Yan i2c2m1_gpio: i2c2m1-gpio { 5662d1951feSAndy Yan rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>, 5672d1951feSAndy Yan <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 5682d1951feSAndy Yan }; 5692d1951feSAndy Yan }; 5702d1951feSAndy Yan 5712d1951feSAndy Yan i2c2m05v { 5722d1951feSAndy Yan i2c2m05v_xfer: i2c2m05v-xfer { 5732d1951feSAndy Yan rockchip,pins = <1 RK_PD5 RK_FUNC_2 &pcfg_pull_none>, 5742d1951feSAndy Yan <1 RK_PD4 RK_FUNC_2 &pcfg_pull_none>; 5752d1951feSAndy Yan }; 5762d1951feSAndy Yan 5772d1951feSAndy Yan i2c2m05v_gpio: i2c2m05v-gpio { 5782d1951feSAndy Yan rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>, 5792d1951feSAndy Yan <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 5802d1951feSAndy Yan }; 5812d1951feSAndy Yan }; 5822d1951feSAndy Yan 5832d1951feSAndy Yan i2c3 { 5842d1951feSAndy Yan i2c3_xfer: i2c3-xfer { 5852d1951feSAndy Yan rockchip,pins = <0 RK_PB6 RK_FUNC_1 &pcfg_pull_none>, 5862d1951feSAndy Yan <0 RK_PC4 RK_FUNC_2 &pcfg_pull_none>; 5872d1951feSAndy Yan }; 5882d1951feSAndy Yan }; 5892d1951feSAndy Yan 5902d1951feSAndy Yan sfc { 5912d1951feSAndy Yan sfc_pins: sfc-pins { 5922d1951feSAndy Yan rockchip,pins = <2 RK_PA3 RK_FUNC_3 &pcfg_pull_none>, 5932d1951feSAndy Yan <2 RK_PA2 RK_FUNC_3 &pcfg_pull_none>, 5942d1951feSAndy Yan <2 RK_PA1 RK_FUNC_3 &pcfg_pull_none>, 5952d1951feSAndy Yan <2 RK_PA0 RK_FUNC_3 &pcfg_pull_none>, 5962d1951feSAndy Yan <2 RK_PB7 RK_FUNC_2 &pcfg_pull_none>, 5972d1951feSAndy Yan <2 RK_PB4 RK_FUNC_3 &pcfg_pull_none>; 5982d1951feSAndy Yan }; 5992d1951feSAndy Yan }; 6002d1951feSAndy Yan 6012d1951feSAndy Yan sdmmc { 6022d1951feSAndy Yan sdmmc_clk: sdmmc-clk { 603*2bfd4c14SAndy Yan rockchip,pins = <3 RK_PC4 RK_FUNC_1 &pcfg_pull_none_drv_8ma>; 6042d1951feSAndy Yan }; 6052d1951feSAndy Yan 6062d1951feSAndy Yan sdmmc_cmd: sdmmc-cmd { 607*2bfd4c14SAndy Yan rockchip,pins = <3 RK_PC5 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; 6082d1951feSAndy Yan }; 6092d1951feSAndy Yan 6102d1951feSAndy Yan sdmmc_cd: sdmmc-cd { 611*2bfd4c14SAndy Yan rockchip,pins = <0 RK_PA1 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; 6122d1951feSAndy Yan }; 6132d1951feSAndy Yan 6142d1951feSAndy Yan sdmmc_bus1: sdmmc-bus1 { 615*2bfd4c14SAndy Yan rockchip,pins = <3 RK_PC3 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; 6162d1951feSAndy Yan }; 6172d1951feSAndy Yan 6182d1951feSAndy Yan sdmmc_bus4: sdmmc-bus4 { 619*2bfd4c14SAndy Yan rockchip,pins = <3 RK_PC3 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, 620*2bfd4c14SAndy Yan <3 RK_PC2 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, 621*2bfd4c14SAndy Yan <3 RK_PC1 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, 622*2bfd4c14SAndy Yan <3 RK_PC0 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; 6232d1951feSAndy Yan }; 6242d1951feSAndy Yan }; 6252d1951feSAndy Yan 6262d1951feSAndy Yan uart0 { 6272d1951feSAndy Yan uart0_xfer: uart0-xfer { 6282d1951feSAndy Yan rockchip,pins = <3 RK_PA6 RK_FUNC_1 &pcfg_pull_up>, 6292d1951feSAndy Yan <3 RK_PA5 RK_FUNC_1 &pcfg_pull_none>; 6302d1951feSAndy Yan }; 6312d1951feSAndy Yan 6322d1951feSAndy Yan uart0_cts: uart0-cts { 6332d1951feSAndy Yan rockchip,pins = <3 RK_PA4 RK_FUNC_1 &pcfg_pull_none>; 6342d1951feSAndy Yan }; 6352d1951feSAndy Yan 6362d1951feSAndy Yan uart0_rts: uart0-rts { 6372d1951feSAndy Yan rockchip,pins = <3 RK_PA3 RK_FUNC_1 &pcfg_pull_none>; 6382d1951feSAndy Yan }; 6392d1951feSAndy Yan 6402d1951feSAndy Yan uart0_rts_gpio: uart0-rts-gpio { 6412d1951feSAndy Yan rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 6422d1951feSAndy Yan }; 6432d1951feSAndy Yan }; 6442d1951feSAndy Yan 6452d1951feSAndy Yan uart1 { 6462d1951feSAndy Yan uart1_xfer: uart1-xfer { 6472d1951feSAndy Yan rockchip,pins = <1 RK_PD3 RK_FUNC_1 &pcfg_pull_up>, 6482d1951feSAndy Yan <1 RK_PD2 RK_FUNC_1 &pcfg_pull_none>; 6492d1951feSAndy Yan }; 6502d1951feSAndy Yan 6512d1951feSAndy Yan uart1_cts: uart1-cts { 6522d1951feSAndy Yan rockchip,pins = <1 RK_PD0 RK_FUNC_1 &pcfg_pull_none>; 6532d1951feSAndy Yan }; 6542d1951feSAndy Yan 6552d1951feSAndy Yan uart01rts: uart1-rts { 6562d1951feSAndy Yan rockchip,pins = <1 RK_PD1 RK_FUNC_1 &pcfg_pull_none>; 6572d1951feSAndy Yan }; 6582d1951feSAndy Yan }; 6592d1951feSAndy Yan 6602d1951feSAndy Yan uart2m0 { 6612d1951feSAndy Yan uart2m0_xfer: uart2m0-xfer { 6622d1951feSAndy Yan rockchip,pins = <2 RK_PD2 RK_FUNC_1 &pcfg_pull_up>, 6632d1951feSAndy Yan <2 RK_PD1 RK_FUNC_1 &pcfg_pull_none>; 6642d1951feSAndy Yan }; 6652d1951feSAndy Yan }; 6662d1951feSAndy Yan 6672d1951feSAndy Yan uart2m1 { 6682d1951feSAndy Yan uart2m1_xfer: uart2m1-xfer { 6692d1951feSAndy Yan rockchip,pins = <3 RK_PC3 RK_FUNC_2 &pcfg_pull_up>, 6702d1951feSAndy Yan <3 RK_PC2 RK_FUNC_2 &pcfg_pull_none>; 6712d1951feSAndy Yan }; 6722d1951feSAndy Yan }; 6732d1951feSAndy Yan 6742d1951feSAndy Yan uart2_5v { 6752d1951feSAndy Yan uart2_5v_cts: uart2_5v-cts { 6762d1951feSAndy Yan rockchip,pins = <1 RK_PD4 RK_FUNC_1 &pcfg_pull_none>; 6772d1951feSAndy Yan }; 6782d1951feSAndy Yan 6792d1951feSAndy Yan uart2_5v_rts: uart2_5v-rts { 6802d1951feSAndy Yan rockchip,pins = <1 RK_PD5 RK_FUNC_1 &pcfg_pull_none>; 6812d1951feSAndy Yan }; 6822d1951feSAndy Yan }; 6832d1951feSAndy Yan }; 684a36e90eaSZhihuan He 685a36e90eaSZhihuan He dmc: dmc@202b0000 { 686a36e90eaSZhihuan He compatible = "rockchip,rv1108-dmc"; 687a36e90eaSZhihuan He reg = <0x202b0000 0x400 688a36e90eaSZhihuan He 0x20210000 0x400 689a36e90eaSZhihuan He 0x31070000 0x40 690a36e90eaSZhihuan He 0x10300000 0xf94 691a36e90eaSZhihuan He 0x20060000 0x38c 692a36e90eaSZhihuan He 0x20200000 0x1f0 693a36e90eaSZhihuan He 0x20010000 0x78>; 694a36e90eaSZhihuan He }; 695a41197efSSandy Huang 696a41197efSSandy Huang vop: vop@30040000 { 697a41197efSSandy Huang compatible = "rockchip,rv1108-vop"; 698a41197efSSandy Huang reg = <0x30040000 0xe00>; 699a41197efSSandy Huang reg-names = "regs"; 700a41197efSSandy Huang interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 701a41197efSSandy Huang clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, 702a41197efSSandy Huang <&cru HCLK_VOP>; 703a41197efSSandy Huang clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 704a41197efSSandy Huang status = "disabled"; 705a41197efSSandy Huang 706a41197efSSandy Huang vop_out: port { 707a41197efSSandy Huang #address-cells = <1>; 708a41197efSSandy Huang #size-cells = <0>; 709a41197efSSandy Huang 710a41197efSSandy Huang vop_out_mipi: endpoint@0 { 711a41197efSSandy Huang reg = <0>; 712a41197efSSandy Huang remote-endpoint = <&mipi_in_vop>; 713a41197efSSandy Huang }; 714a41197efSSandy Huang }; 715a41197efSSandy Huang }; 7162d1951feSAndy Yan}; 717