| // SPDX-License-Identifier: GPL-2.0 |
| /* |
| * Samsung Exynos5260 SoC device tree source |
| * |
| * Copyright (c) 2013 Samsung Electronics Co., Ltd. |
| * http://www.samsung.com |
| */ |
| |
| #include <dt-bindings/clock/exynos5260-clk.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| / { |
| compatible = "samsung,exynos5260", "samsung,exynos5"; |
| interrupt-parent = <&gic>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| aliases { |
| i2c0 = &hsi2c_0; |
| i2c1 = &hsi2c_1; |
| i2c2 = &hsi2c_2; |
| i2c3 = &hsi2c_3; |
| pinctrl0 = &pinctrl_0; |
| pinctrl1 = &pinctrl_1; |
| pinctrl2 = &pinctrl_2; |
| serial0 = &uart0; |
| serial1 = &uart1; |
| serial2 = &uart2; |
| serial3 = &uart3; |
| }; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu-map { |
| cluster0 { |
| core0 { |
| cpu = <&cpu0>; |
| }; |
| core1 { |
| cpu = <&cpu1>; |
| }; |
| }; |
| |
| cluster1 { |
| core0 { |
| cpu = <&cpu2>; |
| }; |
| core1 { |
| cpu = <&cpu3>; |
| }; |
| core2 { |
| cpu = <&cpu4>; |
| }; |
| core3 { |
| cpu = <&cpu5>; |
| }; |
| }; |
| }; |
| |
| cpu0: cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a15"; |
| reg = <0x0>; |
| cci-control-port = <&cci_control1>; |
| }; |
| |
| cpu1: cpu@1 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a15"; |
| reg = <0x1>; |
| cci-control-port = <&cci_control1>; |
| }; |
| |
| cpu2: cpu@100 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a7"; |
| reg = <0x100>; |
| cci-control-port = <&cci_control0>; |
| }; |
| |
| cpu3: cpu@101 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a7"; |
| reg = <0x101>; |
| cci-control-port = <&cci_control0>; |
| }; |
| |
| cpu4: cpu@102 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a7"; |
| reg = <0x102>; |
| cci-control-port = <&cci_control0>; |
| }; |
| |
| cpu5: cpu@103 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a7"; |
| reg = <0x103>; |
| cci-control-port = <&cci_control0>; |
| }; |
| }; |
| |
| soc: soc { |
| compatible = "simple-bus"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| clock_top: clock-controller@10010000 { |
| compatible = "samsung,exynos5260-clock-top"; |
| reg = <0x10010000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&clock_mif MIF_DOUT_MEM_PLL>, |
| <&clock_mif MIF_DOUT_BUS_PLL>, |
| <&clock_mif MIF_DOUT_MEDIA_PLL>; |
| clock-names = "fin_pll", |
| "dout_mem_pll", |
| "dout_bus_pll", |
| "dout_media_pll"; |
| }; |
| |
| clock_peri: clock-controller@10200000 { |
| compatible = "samsung,exynos5260-clock-peri"; |
| reg = <0x10200000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&ioclk_pcm>, |
| <&ioclk_i2s>, |
| <&ioclk_spdif>, |
| <&fin_pll>, |
| <&clock_top TOP_DOUT_ACLK_PERI_66>, |
| <&clock_top TOP_DOUT_SCLK_PERI_UART0>, |
| <&clock_top TOP_DOUT_SCLK_PERI_UART1>, |
| <&clock_top TOP_DOUT_SCLK_PERI_UART2>, |
| <&clock_top TOP_DOUT_SCLK_PERI_SPI0_B>, |
| <&clock_top TOP_DOUT_SCLK_PERI_SPI1_B>, |
| <&clock_top TOP_DOUT_SCLK_PERI_SPI2_B>, |
| <&clock_top TOP_DOUT_ACLK_PERI_AUD>; |
| clock-names = "fin_pll", |
| "ioclk_pcm_extclk", |
| "ioclk_i2s_cdclk", |
| "ioclk_spdif_extclk", |
| "phyclk_hdmi_phy_ref_cko", |
| "dout_aclk_peri_66", |
| "dout_sclk_peri_uart0", |
| "dout_sclk_peri_uart1", |
| "dout_sclk_peri_uart2", |
| "dout_sclk_peri_spi0_b", |
| "dout_sclk_peri_spi1_b", |
| "dout_sclk_peri_spi2_b", |
| "dout_aclk_peri_aud"; |
| }; |
| |
| clock_egl: clock-controller@10600000 { |
| compatible = "samsung,exynos5260-clock-egl"; |
| reg = <0x10600000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&clock_mif MIF_DOUT_BUS_PLL>; |
| clock-names = "fin_pll", |
| "dout_bus_pll"; |
| }; |
| |
| clock_kfc: clock-controller@10700000 { |
| compatible = "samsung,exynos5260-clock-kfc"; |
| reg = <0x10700000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&clock_mif MIF_DOUT_MEDIA_PLL>; |
| clock-names = "fin_pll", |
| "dout_media_pll"; |
| }; |
| |
| clock_g2d: clock-controller@10a00000 { |
| compatible = "samsung,exynos5260-clock-g2d"; |
| reg = <0x10a00000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&clock_top TOP_DOUT_ACLK_G2D_333>; |
| clock-names = "fin_pll", |
| "dout_aclk_g2d_333"; |
| }; |
| |
| clock_mif: clock-controller@10ce0000 { |
| compatible = "samsung,exynos5260-clock-mif"; |
| reg = <0x10ce0000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>; |
| clock-names = "fin_pll"; |
| }; |
| |
| clock_mfc: clock-controller@11090000 { |
| compatible = "samsung,exynos5260-clock-mfc"; |
| reg = <0x11090000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&clock_top TOP_DOUT_ACLK_MFC_333>; |
| clock-names = "fin_pll", |
| "dout_aclk_mfc_333"; |
| }; |
| |
| clock_g3d: clock-controller@11830000 { |
| compatible = "samsung,exynos5260-clock-g3d"; |
| reg = <0x11830000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>; |
| clock-names = "fin_pll"; |
| }; |
| |
| clock_fsys: clock-controller@122e0000 { |
| compatible = "samsung,exynos5260-clock-fsys"; |
| reg = <0x122e0000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&clock_top TOP_DOUT_ACLK_FSYS_200>; |
| clock-names = "fin_pll", |
| "phyclk_usbhost20_phy_phyclock", |
| "phyclk_usbhost20_phy_freeclk", |
| "phyclk_usbhost20_phy_clk48mohci", |
| "phyclk_usbdrd30_udrd30_pipe_pclk", |
| "phyclk_usbdrd30_udrd30_phyclock", |
| "dout_aclk_fsys_200"; |
| }; |
| |
| clock_aud: clock-controller@128c0000 { |
| compatible = "samsung,exynos5260-clock-aud"; |
| reg = <0x128c0000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&clock_top TOP_FOUT_AUD_PLL>, |
| <&ioclk_i2s>, |
| <&ioclk_pcm>; |
| clock-names = "fin_pll", |
| "fout_aud_pll", |
| "ioclk_i2s_cdclk", |
| "ioclk_pcm_extclk"; |
| }; |
| |
| clock_isp: clock-controller@133c0000 { |
| compatible = "samsung,exynos5260-clock-isp"; |
| reg = <0x133c0000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&clock_top TOP_DOUT_ACLK_ISP1_266>, |
| <&clock_top TOP_DOUT_ACLK_ISP1_400>, |
| <&clock_top TOP_MOUT_ACLK_ISP1_266>; |
| clock-names = "fin_pll", |
| "dout_aclk_isp1_266", |
| "dout_aclk_isp1_400", |
| "mout_aclk_isp1_266"; |
| }; |
| |
| clock_gscl: clock-controller@13f00000 { |
| compatible = "samsung,exynos5260-clock-gscl"; |
| reg = <0x13f00000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&clock_top TOP_DOUT_ACLK_GSCL_400>, |
| <&clock_top TOP_DOUT_ACLK_GSCL_333>; |
| clock-names = "fin_pll", |
| "dout_aclk_gscl_400", |
| "dout_aclk_gscl_333"; |
| }; |
| |
| clock_disp: clock-controller@14550000 { |
| compatible = "samsung,exynos5260-clock-disp"; |
| reg = <0x14550000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&fin_pll>, |
| <&ioclk_spdif>, |
| <&clock_top TOP_DOUT_ACLK_PERI_AUD>, |
| <&clock_top TOP_DOUT_ACLK_DISP_222>, |
| <&clock_top TOP_DOUT_SCLK_DISP_PIXEL>, |
| <&clock_top TOP_DOUT_ACLK_DISP_333>; |
| clock-names = "fin_pll", |
| "phyclk_dptx_phy_ch3_txd_clk", |
| "phyclk_dptx_phy_ch2_txd_clk", |
| "phyclk_dptx_phy_ch1_txd_clk", |
| "phyclk_dptx_phy_ch0_txd_clk", |
| "phyclk_hdmi_phy_tmds_clko", |
| "phyclk_hdmi_phy_ref_clko", |
| "phyclk_hdmi_phy_pixel_clko", |
| "phyclk_hdmi_link_o_tmds_clkhi", |
| "phyclk_mipi_dphy_4l_m_txbyte_clkhs", |
| "phyclk_dptx_phy_o_ref_clk_24m", |
| "phyclk_dptx_phy_clk_div2", |
| "phyclk_mipi_dphy_4l_m_rxclkesc0", |
| "phyclk_hdmi_phy_ref_cko", |
| "ioclk_spdif_extclk", |
| "dout_aclk_peri_aud", |
| "dout_aclk_disp_222", |
| "dout_sclk_disp_pixel", |
| "dout_aclk_disp_333"; |
| }; |
| |
| gic: interrupt-controller@10481000 { |
| compatible = "arm,gic-400", "arm,cortex-a15-gic"; |
| #interrupt-cells = <3>; |
| interrupt-controller; |
| reg = <0x10481000 0x1000>, |
| <0x10482000 0x2000>, |
| <0x10484000 0x2000>, |
| <0x10486000 0x2000>; |
| interrupts = <GIC_PPI 9 |
| (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; |
| }; |
| |
| chipid: chipid@10000000 { |
| compatible = "samsung,exynos4210-chipid"; |
| reg = <0x10000000 0x100>; |
| }; |
| |
| mct: timer@100b0000 { |
| compatible = "samsung,exynos5260-mct", |
| "samsung,exynos4210-mct"; |
| reg = <0x100b0000 0x1000>; |
| clocks = <&fin_pll>, <&clock_peri PERI_CLK_MCT>; |
| clock-names = "fin_pll", "mct"; |
| interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| cci: cci@10f00000 { |
| compatible = "arm,cci-400"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| reg = <0x10f00000 0x1000>; |
| ranges = <0x0 0x10f00000 0x6000>; |
| |
| cci_control0: slave-if@4000 { |
| compatible = "arm,cci-400-ctrl-if"; |
| interface-type = "ace"; |
| reg = <0x4000 0x1000>; |
| }; |
| |
| cci_control1: slave-if@5000 { |
| compatible = "arm,cci-400-ctrl-if"; |
| interface-type = "ace"; |
| reg = <0x5000 0x1000>; |
| }; |
| }; |
| |
| pinctrl_0: pinctrl@11600000 { |
| compatible = "samsung,exynos5260-pinctrl"; |
| reg = <0x11600000 0x1000>; |
| interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; |
| |
| wakeup-interrupt-controller { |
| compatible = "samsung,exynos4210-wakeup-eint"; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| }; |
| |
| pinctrl_1: pinctrl@12290000 { |
| compatible = "samsung,exynos5260-pinctrl"; |
| reg = <0x12290000 0x1000>; |
| interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| pinctrl_2: pinctrl@128b0000 { |
| compatible = "samsung,exynos5260-pinctrl"; |
| reg = <0x128b0000 0x1000>; |
| interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| pmu_system_controller: system-controller@10d50000 { |
| compatible = "samsung,exynos5260-pmu", "syscon"; |
| reg = <0x10d50000 0x10000>; |
| }; |
| |
| uart0: serial@12c00000 { |
| compatible = "samsung,exynos4210-uart"; |
| reg = <0x12c00000 0x100>; |
| interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock_peri PERI_CLK_UART0>, <&clock_peri PERI_SCLK_UART0>; |
| clock-names = "uart", "clk_uart_baud0"; |
| status = "disabled"; |
| }; |
| |
| uart1: serial@12c10000 { |
| compatible = "samsung,exynos4210-uart"; |
| reg = <0x12c10000 0x100>; |
| interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock_peri PERI_CLK_UART1>, <&clock_peri PERI_SCLK_UART1>; |
| clock-names = "uart", "clk_uart_baud0"; |
| status = "disabled"; |
| }; |
| |
| uart2: serial@12c20000 { |
| compatible = "samsung,exynos4210-uart"; |
| reg = <0x12c20000 0x100>; |
| interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock_peri PERI_CLK_UART2>, <&clock_peri PERI_SCLK_UART2>; |
| clock-names = "uart", "clk_uart_baud0"; |
| status = "disabled"; |
| }; |
| |
| uart3: serial@12860000 { |
| compatible = "samsung,exynos4210-uart"; |
| reg = <0x12860000 0x100>; |
| interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock_aud AUD_CLK_AUD_UART>, <&clock_aud AUD_SCLK_AUD_UART>; |
| clock-names = "uart", "clk_uart_baud0"; |
| status = "disabled"; |
| }; |
| |
| mmc_0: mmc@12140000 { |
| compatible = "samsung,exynos5250-dw-mshc"; |
| reg = <0x12140000 0x2000>; |
| interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock_fsys FSYS_CLK_MMC0>, <&clock_top TOP_SCLK_MMC0>; |
| clock-names = "biu", "ciu"; |
| assigned-clocks = |
| <&clock_top TOP_MOUT_SCLK_FSYS_MMC0_SDCLKIN_A>, |
| <&clock_top TOP_MOUT_SCLK_FSYS_MMC0_SDCLKIN_B>, |
| <&clock_top TOP_SCLK_MMC0>; |
| assigned-clock-parents = |
| <&clock_top TOP_MOUT_BUSTOP_PLL_USER>, |
| <&clock_top TOP_MOUT_SCLK_FSYS_MMC0_SDCLKIN_A>; |
| assigned-clock-rates = <0>, <0>, <800000000>; |
| fifo-depth = <64>; |
| status = "disabled"; |
| }; |
| |
| mmc_1: mmc@12150000 { |
| compatible = "samsung,exynos5250-dw-mshc"; |
| reg = <0x12150000 0x2000>; |
| interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock_fsys FSYS_CLK_MMC1>, <&clock_top TOP_SCLK_MMC1>; |
| clock-names = "biu", "ciu"; |
| assigned-clocks = |
| <&clock_top TOP_MOUT_SCLK_FSYS_MMC1_SDCLKIN_A>, |
| <&clock_top TOP_MOUT_SCLK_FSYS_MMC1_SDCLKIN_B>, |
| <&clock_top TOP_SCLK_MMC1>; |
| assigned-clock-parents = |
| <&clock_top TOP_MOUT_BUSTOP_PLL_USER>, |
| <&clock_top TOP_MOUT_SCLK_FSYS_MMC1_SDCLKIN_A>; |
| assigned-clock-rates = <0>, <0>, <800000000>; |
| fifo-depth = <64>; |
| status = "disabled"; |
| }; |
| |
| mmc_2: mmc@12160000 { |
| compatible = "samsung,exynos5250-dw-mshc"; |
| reg = <0x12160000 0x2000>; |
| interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock_fsys FSYS_CLK_MMC2>, <&clock_top TOP_SCLK_MMC2>; |
| clock-names = "biu", "ciu"; |
| assigned-clocks = |
| <&clock_top TOP_MOUT_SCLK_FSYS_MMC2_SDCLKIN_A>, |
| <&clock_top TOP_MOUT_SCLK_FSYS_MMC2_SDCLKIN_B>, |
| <&clock_top TOP_SCLK_MMC2>; |
| assigned-clock-parents = |
| <&clock_top TOP_MOUT_BUSTOP_PLL_USER>, |
| <&clock_top TOP_MOUT_SCLK_FSYS_MMC2_SDCLKIN_A>; |
| assigned-clock-rates = <0>, <0>, <800000000>; |
| fifo-depth = <64>; |
| status = "disabled"; |
| }; |
| |
| hsi2c_0: i2c@12da0000 { |
| compatible = "samsung,exynos5260-hsi2c"; |
| reg = <0x12da0000 0x1000>; |
| interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c0_hs_bus>; |
| clocks = <&clock_peri PERI_CLK_HSIC0>; |
| clock-names = "hsi2c"; |
| status = "disabled"; |
| }; |
| |
| hsi2c_1: i2c@12db0000 { |
| compatible = "samsung,exynos5260-hsi2c"; |
| reg = <0x12db0000 0x1000>; |
| interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c1_hs_bus>; |
| clocks = <&clock_peri PERI_CLK_HSIC1>; |
| clock-names = "hsi2c"; |
| status = "disabled"; |
| }; |
| |
| hsi2c_2: i2c@12dc0000 { |
| compatible = "samsung,exynos5260-hsi2c"; |
| reg = <0x12dc0000 0x1000>; |
| interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c2_hs_bus>; |
| clocks = <&clock_peri PERI_CLK_HSIC2>; |
| clock-names = "hsi2c"; |
| status = "disabled"; |
| }; |
| |
| hsi2c_3: i2c@12dd0000 { |
| compatible = "samsung,exynos5260-hsi2c"; |
| reg = <0x12dd0000 0x1000>; |
| interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c3_hs_bus>; |
| clocks = <&clock_peri PERI_CLK_HSIC3>; |
| clock-names = "hsi2c"; |
| status = "disabled"; |
| }; |
| }; |
| }; |
| |
| #include "exynos5260-pinctrl.dtsi" |