1266943Sbr/*- 2266943Sbr * Copyright (c) 2013-2014 Ruslan Bukin <br@bsdpad.com> 3266943Sbr * All rights reserved. 4266943Sbr * 5266943Sbr * Redistribution and use in source and binary forms, with or without 6266943Sbr * modification, are permitted provided that the following conditions 7266943Sbr * are met: 8266943Sbr * 1. Redistributions of source code must retain the above copyright 9266943Sbr * notice, this list of conditions and the following disclaimer. 10266943Sbr * 2. Redistributions in binary form must reproduce the above copyright 11266943Sbr * notice, this list of conditions and the following disclaimer in the 12266943Sbr * documentation and/or other materials provided with the distribution. 13266943Sbr * 14266943Sbr * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15266943Sbr * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16266943Sbr * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17266943Sbr * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18266943Sbr * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19266943Sbr * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20266943Sbr * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21266943Sbr * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22266943Sbr * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23266943Sbr * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24266943Sbr * SUCH DAMAGE. 25266943Sbr * 26266943Sbr * $FreeBSD: releng/10.2/sys/boot/fdt/dts/arm/exynos5.dtsi 278599 2015-02-11 22:35:32Z ian $ 27266943Sbr */ 28266943Sbr 29266943Sbr/ { 30266943Sbr compatible = "samsung,exynos5"; 31266943Sbr #address-cells = <1>; 32266943Sbr #size-cells = <1>; 33266943Sbr interrupt-parent = <&GIC>; 34266943Sbr 35266943Sbr aliases { 36266943Sbr soc = &SOC; 37266943Sbr serial0 = &serial0; 38266943Sbr serial1 = &serial1; 39266943Sbr serial2 = &serial2; 40266943Sbr serial3 = &serial3; 41266943Sbr clk0 = &clk0; 42266943Sbr dp0 = &dp0; 43266943Sbr fimd0 = &fimd0; 44266943Sbr }; 45266943Sbr 46266943Sbr SOC: Exynos5@0 { 47266943Sbr #address-cells = <1>; 48266943Sbr #size-cells = <1>; 49266943Sbr compatible = "simple-bus"; 50266943Sbr ranges; 51266943Sbr bus-frequency = <0>; 52266943Sbr 53266943Sbr GIC: interrupt-controller@10481000 { 54266943Sbr compatible = "arm,gic"; 55266943Sbr reg = < 0x10481000 0x1000 >, /* Distributor Registers */ 56266943Sbr < 0x10482000 0x2000 >; /* CPU Interface Registers */ 57266943Sbr interrupt-controller; 58266943Sbr #address-cells = <0>; 59266943Sbr #interrupt-cells = <1>; 60266943Sbr }; 61266943Sbr 62266943Sbr combiner: interrupt-controller@10440000 { 63266943Sbr compatible = "exynos,combiner"; 64266943Sbr reg = <0x10440000 0x1000>; 65266943Sbr interrupts = < 32 33 34 35 36 37 38 39 66266943Sbr 40 41 42 43 44 45 46 47 67266943Sbr 48 49 50 51 52 53 54 55 68266943Sbr 56 57 58 59 60 61 62 63 >; 69266943Sbr interrupt-parent = <&GIC>; 70266943Sbr }; 71266943Sbr 72266943Sbr clk0: clk@10010000 { 73266943Sbr compatible = "exynos,clk"; 74266943Sbr reg = < 0x10020000 0x20000 >; 75266943Sbr }; 76266943Sbr 77266943Sbr mct { 78266943Sbr compatible = "exynos,mct"; 79266943Sbr reg = < 0x101C0000 0x1000 >; 80266943Sbr clock-frequency = <24000000>; 81266943Sbr }; 82266943Sbr 83266943Sbr generic_timer { 84266943Sbr compatible = "arm,armv7-timer"; 85266943Sbr clock-frequency = <24000000>; 86266943Sbr interrupts = < 29 30 27 26 >; 87266943Sbr interrupt-parent = <&GIC>; 88266943Sbr }; 89266943Sbr 90266943Sbr pwm { 91266943Sbr compatible = "samsung,s3c24x0-timer"; 92266943Sbr reg = <0x12DD0000 0x1000>; 93266943Sbr interrupts = < 71 >; 94266943Sbr interrupt-parent = <&GIC>; 95266943Sbr clock-frequency = <24000000>; 96266943Sbr }; 97266943Sbr 98266943Sbr pad0: pad@11400000 { 99266943Sbr compatible = "exynos,pad"; 100266943Sbr status = "disabled"; 101266943Sbr reg = <0x11400000 0x1000>, /* gpio left */ 102266943Sbr <0x13400000 0x1000>, /* gpio right */ 103266943Sbr <0x10D10000 0x1000>, /* gpio c2c */ 104266943Sbr <0x03860000 0x1000>; 105266943Sbr interrupts = < 78 77 82 79 >; 106266943Sbr interrupt-parent = <&GIC>; 107266943Sbr }; 108266943Sbr 109266943Sbr usb@12110000 { 110266943Sbr compatible = "exynos,usb-ehci", "usb-ehci"; 111266943Sbr reg = <0x12110000 0x1000>, /* EHCI */ 112266943Sbr <0x12130000 0x1000>, /* EHCI host ctrl */ 113266943Sbr <0x10040000 0x1000>, /* Power */ 114266943Sbr <0x10050230 0x10>; /* Sysreg */ 115266943Sbr interrupts = < 103 >; 116266943Sbr interrupt-parent = <&GIC>; 117266943Sbr }; 118266943Sbr 119266943Sbr usb@12120000 { 120266943Sbr compatible = "exynos,usb-ohci", "usb-ohci"; 121266943Sbr status = "disabled"; 122266943Sbr reg = <0x12120000 0x10000>; 123266943Sbr interrupts = < 103 >; 124266943Sbr interrupt-parent = <&GIC>; 125266943Sbr }; 126266943Sbr 127266943Sbr sdhci@12200000 { 128266943Sbr compatible = "sdhci_generic"; 129266943Sbr status = "disabled"; 130266943Sbr reg = <0x12200000 0x1000>; 131266943Sbr interrupts = <107>; 132266943Sbr interrupt-parent = <&GIC>; 133266943Sbr max-frequency = <24000000>; /* TODO: verify freq */ 134266943Sbr }; 135266943Sbr 136266943Sbr sdhci@12210000 { 137266943Sbr compatible = "sdhci_generic"; 138266943Sbr status = "disabled"; 139266943Sbr reg = <0x12210000 0x1000>; 140266943Sbr interrupts = <108>; 141266943Sbr interrupt-parent = <&GIC>; 142266943Sbr max-frequency = <24000000>; 143266943Sbr }; 144266943Sbr 145266943Sbr sdhci@12220000 { 146266943Sbr compatible = "sdhci_generic"; 147266943Sbr status = "disabled"; 148266943Sbr reg = <0x12220000 0x1000>; 149266943Sbr interrupts = <109>; 150266943Sbr interrupt-parent = <&GIC>; 151266943Sbr max-frequency = <24000000>; 152266943Sbr }; 153266943Sbr 154266943Sbr sdhci@12230000 { 155266943Sbr compatible = "sdhci_generic"; 156266943Sbr status = "disabled"; 157266943Sbr reg = <0x12230000 0x1000>; 158266943Sbr interrupts = <110>; 159266943Sbr interrupt-parent = <&GIC>; 160266943Sbr max-frequency = <24000000>; 161266943Sbr }; 162266943Sbr 163266943Sbr serial0: serial@12C00000 { 164266943Sbr compatible = "exynos"; 165266943Sbr status = "disabled"; 166266943Sbr reg = <0x12C00000 0x100>; 167266943Sbr interrupts = < 83 >; 168266943Sbr interrupt-parent = <&GIC>; 169266943Sbr clock-frequency = < 100000000 >; 170266943Sbr current-speed = <115200>; 171266943Sbr }; 172266943Sbr 173266943Sbr serial1: serial@12C10000 { 174266943Sbr compatible = "exynos"; 175266943Sbr status = "disabled"; 176266943Sbr reg = <0x12C10000 0x100>; 177266943Sbr interrupts = < 84 >; 178266943Sbr interrupt-parent = <&GIC>; 179266943Sbr clock-frequency = < 100000000 >; 180266943Sbr current-speed = <115200>; 181266943Sbr }; 182266943Sbr 183266943Sbr serial2: serial@12C20000 { 184266943Sbr compatible = "exynos"; 185266943Sbr status = "disabled"; 186266943Sbr reg = <0x12C20000 0x100>; 187266943Sbr interrupts = < 85 >; 188266943Sbr interrupt-parent = <&GIC>; 189266943Sbr clock-frequency = < 100000000 >; 190266943Sbr current-speed = <115200>; 191266943Sbr }; 192266943Sbr 193266943Sbr serial3: serial@12C30000 { 194266943Sbr compatible = "exynos"; 195266943Sbr status = "disabled"; 196266943Sbr reg = <0x12C30000 0x100>; 197266943Sbr interrupts = < 86 >; 198266943Sbr interrupt-parent = <&GIC>; 199266943Sbr clock-frequency = < 100000000 >; 200266943Sbr current-speed = <115200>; 201266943Sbr }; 202266943Sbr 203266943Sbr i2c0: i2c@12C60000 { 204266943Sbr compatible = "exynos,i2c"; 205266943Sbr status = "disabled"; 206266943Sbr reg = <0x12C60000 0x10000>; 207266943Sbr interrupts = < 88 >; 208266943Sbr interrupt-parent = <&GIC>; 209266943Sbr }; 210266943Sbr 211266943Sbr i2c1: i2c@12C70000 { 212266943Sbr compatible = "exynos,i2c"; 213266943Sbr status = "disabled"; 214266943Sbr reg = <0x12C70000 0x10000>; 215266943Sbr interrupts = < 89 >; 216266943Sbr interrupt-parent = <&GIC>; 217266943Sbr }; 218266943Sbr 219266943Sbr i2c2: i2c@12C80000 { 220266943Sbr compatible = "exynos,i2c"; 221266943Sbr status = "disabled"; 222266943Sbr reg = <0x12C80000 0x10000>; 223266943Sbr interrupts = < 90 >; 224266943Sbr interrupt-parent = <&GIC>; 225266943Sbr }; 226266943Sbr 227266943Sbr i2c3: i2c@12C90000 { 228266943Sbr compatible = "exynos,i2c"; 229266943Sbr status = "disabled"; 230266943Sbr reg = <0x12C90000 0x10000>; 231266943Sbr interrupts = < 91 >; 232266943Sbr interrupt-parent = <&GIC>; 233266943Sbr }; 234266943Sbr 235266943Sbr i2c4: i2c@12CA0000 { 236266943Sbr compatible = "exynos,i2c"; 237266943Sbr status = "disabled"; 238266943Sbr reg = <0x12CA0000 0x10000>; 239266943Sbr interrupts = < 92 >; 240266943Sbr interrupt-parent = <&GIC>; 241266943Sbr }; 242266943Sbr 243266943Sbr i2c5: i2c@12CB0000 { 244266943Sbr compatible = "exynos,i2c"; 245266943Sbr status = "disabled"; 246266943Sbr reg = <0x12CB0000 0x10000>; 247266943Sbr interrupts = < 93 >; 248266943Sbr interrupt-parent = <&GIC>; 249266943Sbr }; 250266943Sbr 251266943Sbr i2c6: i2c@12CC0000 { 252266943Sbr compatible = "exynos,i2c"; 253266943Sbr status = "disabled"; 254266943Sbr reg = <0x12CC0000 0x10000>; 255266943Sbr interrupts = < 94 >; 256266943Sbr interrupt-parent = <&GIC>; 257266943Sbr }; 258266943Sbr 259266943Sbr i2c7: i2c@12CD0000 { 260266943Sbr compatible = "exynos,i2c"; 261266943Sbr status = "disabled"; 262266943Sbr reg = <0x12CD0000 0x10000>; 263266943Sbr interrupts = < 95 >; 264266943Sbr interrupt-parent = <&GIC>; 265266943Sbr }; 266266943Sbr 267266943Sbr fimd0: fimd@14400000 { 268266943Sbr compatible = "exynos,fimd"; 269266943Sbr status = "disabled"; 270266943Sbr reg = < 0x14400000 0x10000 >, /* fimd */ 271266943Sbr < 0x14420000 0x10000 >, /* disp */ 272266943Sbr < 0x10050000 0x220 >; /* sysreg */ 273266943Sbr interrupt-parent = <&GIC>; 274266943Sbr }; 275266943Sbr 276266943Sbr dp0: dp@145B0000 { 277266943Sbr compatible = "exynos,dp"; 278266943Sbr status = "disabled"; 279266943Sbr reg = < 0x145B0000 0x10000 >, 280266943Sbr < 0x10040720 0x10 >; /* PHY */ 281266943Sbr interrupt-parent = <&GIC>; 282266943Sbr }; 283266943Sbr }; 284266943Sbr}; 285