/*- * Copyright (c) 2013-2014 Ruslan Bukin * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD$ */ / { compatible = "samsung,exynos5"; #address-cells = <1>; #size-cells = <1>; interrupt-parent = <&GIC>; aliases { soc = &SOC; serial0 = &serial0; serial1 = &serial1; serial2 = &serial2; serial3 = &serial3; clk0 = &clk0; dp0 = &dp0; fimd0 = &fimd0; }; SOC: Exynos5@0 { #address-cells = <1>; #size-cells = <1>; compatible = "simple-bus"; ranges; bus-frequency = <0>; pmu_system_controller: system-controller@10040000 { reg = <0x10040000 0x5000>; status = "disabled"; }; GIC: interrupt-controller@10481000 { compatible = "arm,gic"; reg = < 0x10481000 0x1000 >, /* Distributor Registers */ < 0x10482000 0x2000 >; /* CPU Interface Registers */ interrupt-controller; #address-cells = <0>; #interrupt-cells = <1>; }; combiner: interrupt-controller@10440000 { compatible = "exynos,combiner"; reg = <0x10440000 0x1000>; interrupts = < 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 >; interrupt-parent = <&GIC>; }; clk0: clk@10010000 { compatible = "exynos,clk"; reg = < 0x10020000 0x20000 >; }; mct { compatible = "exynos,mct"; reg = < 0x101C0000 0x1000 >; clock-frequency = <24000000>; }; generic_timer { compatible = "arm,armv7-timer"; clock-frequency = <24000000>; interrupts = < 29 30 27 26 >; interrupt-parent = <&GIC>; }; pwm { compatible = "samsung,s3c24x0-timer"; reg = <0x12DD0000 0x1000>; interrupts = < 71 >; interrupt-parent = <&GIC>; clock-frequency = <24000000>; }; pad0: pad@11400000 { status = "disabled"; }; usbdrd_phy0: phy@12100000 { compatible = "samsung,exynos5420-usbdrd-phy"; status = "disabled"; reg = <0x12100000 0x100>; samsung,pmu-syscon = <&pmu_system_controller>; }; usbdrd_phy1: phy@12500000 { compatible = "samsung,exynos5420-usbdrd-phy"; status = "disabled"; reg = <0x12500000 0x100>; samsung,pmu-syscon = <&pmu_system_controller>; }; xhci@12000000 { compatible = "samsung,exynos5250-dwusb3"; status = "disabled"; reg = <0x12000000 0x1000>, <0x1200c100 0x1000>; interrupts = < 104 >; interrupt-parent = <&GIC>; }; xhci@12400000 { compatible = "samsung,exynos5250-dwusb3"; status = "disabled"; reg = <0x12400000 0x1000>, <0x1240c100 0x1000>; interrupts = < 105 >; interrupt-parent = <&GIC>; }; usb@12110000 { compatible = "exynos,usb-ehci", "usb-ehci"; status = "disabled"; reg = <0x12110000 0x1000>, /* EHCI */ <0x12130000 0x1000>, /* EHCI host ctrl */ <0x10050230 0x10>; /* Sysreg */ interrupts = < 103 >; interrupt-parent = <&GIC>; }; usb@12120000 { compatible = "exynos,usb-ohci", "usb-ohci"; status = "disabled"; reg = <0x12120000 0x10000>; interrupts = < 103 >; interrupt-parent = <&GIC>; }; sdhci@12200000 { compatible = "sdhci_generic"; status = "disabled"; reg = <0x12200000 0x1000>; interrupts = <107>; interrupt-parent = <&GIC>; max-frequency = <24000000>; /* TODO: verify freq */ }; sdhci@12210000 { compatible = "sdhci_generic"; status = "disabled"; reg = <0x12210000 0x1000>; interrupts = <108>; interrupt-parent = <&GIC>; max-frequency = <24000000>; }; sdhci@12220000 { compatible = "sdhci_generic"; status = "disabled"; reg = <0x12220000 0x1000>; interrupts = <109>; interrupt-parent = <&GIC>; max-frequency = <24000000>; }; sdhci@12230000 { compatible = "sdhci_generic"; status = "disabled"; reg = <0x12230000 0x1000>; interrupts = <110>; interrupt-parent = <&GIC>; max-frequency = <24000000>; }; serial0: serial@12C00000 { compatible = "exynos"; status = "disabled"; reg = <0x12C00000 0x100>; interrupts = < 83 >; interrupt-parent = <&GIC>; clock-frequency = < 100000000 >; current-speed = <115200>; }; serial1: serial@12C10000 { compatible = "exynos"; status = "disabled"; reg = <0x12C10000 0x100>; interrupts = < 84 >; interrupt-parent = <&GIC>; clock-frequency = < 100000000 >; current-speed = <115200>; }; serial2: serial@12C20000 { compatible = "exynos"; status = "disabled"; reg = <0x12C20000 0x100>; interrupts = < 85 >; interrupt-parent = <&GIC>; clock-frequency = < 100000000 >; current-speed = <115200>; }; serial3: serial@12C30000 { compatible = "exynos"; status = "disabled"; reg = <0x12C30000 0x100>; interrupts = < 86 >; interrupt-parent = <&GIC>; clock-frequency = < 100000000 >; current-speed = <115200>; }; spi0: spi@12d20000 { compatible = "samsung,exynos5-spi"; status = "disabled"; reg = <0x12d20000 0x100>; interrupts = < 100 >; interrupt-parent = <&GIC>; }; spi1: spi@12d30000 { compatible = "samsung,exynos5-spi"; status = "disabled"; reg = <0x12d30000 0x100>; interrupts = < 101 >; interrupt-parent = <&GIC>; }; spi2: spi@12d40000 { compatible = "samsung,exynos5-spi"; status = "disabled"; reg = <0x12d40000 0x100>; interrupts = < 102 >; interrupt-parent = <&GIC>; }; i2c0: i2c@12C60000 { compatible = "exynos,i2c"; status = "disabled"; reg = <0x12C60000 0x10000>; interrupts = < 88 >; interrupt-parent = <&GIC>; }; i2c1: i2c@12C70000 { compatible = "exynos,i2c"; status = "disabled"; reg = <0x12C70000 0x10000>; interrupts = < 89 >; interrupt-parent = <&GIC>; }; i2c2: i2c@12C80000 { compatible = "exynos,i2c"; status = "disabled"; reg = <0x12C80000 0x10000>; interrupts = < 90 >; interrupt-parent = <&GIC>; }; i2c3: i2c@12C90000 { compatible = "exynos,i2c"; status = "disabled"; reg = <0x12C90000 0x10000>; interrupts = < 91 >; interrupt-parent = <&GIC>; }; i2c4: i2c@12CA0000 { compatible = "exynos,i2c"; status = "disabled"; reg = <0x12CA0000 0x10000>; interrupts = < 92 >; interrupt-parent = <&GIC>; }; i2c5: i2c@12CB0000 { compatible = "exynos,i2c"; status = "disabled"; reg = <0x12CB0000 0x10000>; interrupts = < 93 >; interrupt-parent = <&GIC>; }; i2c6: i2c@12CC0000 { compatible = "exynos,i2c"; status = "disabled"; reg = <0x12CC0000 0x10000>; interrupts = < 94 >; interrupt-parent = <&GIC>; }; i2c7: i2c@12CD0000 { compatible = "exynos,i2c"; status = "disabled"; reg = <0x12CD0000 0x10000>; interrupts = < 95 >; interrupt-parent = <&GIC>; }; fimd0: fimd@14400000 { compatible = "exynos,fimd"; status = "disabled"; reg = < 0x14400000 0x10000 >, /* fimd */ < 0x14420000 0x10000 >, /* disp */ < 0x10050000 0x220 >; /* sysreg */ interrupt-parent = <&GIC>; }; dp0: dp@145B0000 { compatible = "exynos,dp"; status = "disabled"; reg = < 0x145B0000 0x10000 >; interrupt-parent = <&GIC>; }; }; };