/* * Hisilicon Ltd. HiP01 SoC * * Copyright (C) 2013-2014 Hisilicon Ltd. * Copyright (C) 2013-2014 Linaro Ltd. * * Author: Haojian Zhuang * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * publishhed by the Free Software Foundation. */ #include / { /* memory bus is 64-bit */ #address-cells = <2>; #size-cells = <1>; aliases { serial0 = &uart0; }; cpus { #address-cells = <1>; #size-cells = <0>; cpu@0 { device_type = "cpu"; compatible = "arm,cortex-a15"; reg = <0>; }; }; soc { /* It's a 32-bit SoC. */ #address-cells = <1>; #size-cells = <1>; compatible = "arm,amba-bus", "simple-bus"; device_type = "soc"; interrupt-parent = <&gic>; ranges = <0 0 0xe0000000 0x10000000>; gic: interrupt-controller@c01000 { compatible = "arm,cortex-a15-gic"; #interrupt-cells = <3>; #address-cells = <0>; interrupt-controller; /* gic dist base, gic cpu base */ reg = <0xc01000 0x1000>, <0xc02000 0x1000>; }; mcpm: mcpm { compatible = "hisilicon,hip04-mcpm"; reg = <0x100 0x1000>, <0x3e00000 0x00100000>, <0x302a000 0x1000>; }; clock: clock { compatible = "hisilicon,hip04-clock"; /* FIXME: the base of clock controller */ reg = <0 0x1000>; #clock-cells = <1>; }; dual_timer0: dual_timer@3000000 { compatible = "arm,sp804", "arm,primecell"; reg = <0x3000000 0x1000>; interrupts = <0 224 4>; clocks = <&clock HIP04_CLK_50M>; clock-names = "apb_pclk"; status = "ok"; }; arm-pmu { compatible = "arm,cortex-a15-pmu"; interrupts = <0 64 4>, <0 65 4>, <0 66 4>, <0 67 4>, <0 68 4>, <0 69 4>, <0 70 4>, <0 71 4>, <0 72 4>, <0 73 4>, <0 74 4>, <0 75 4>, <0 76 4>, <0 77 4>, <0 78 4>, <0 79 4>; }; timer { compatible = "arm,armv7-timer"; interrupts = <1 13 0xf08>, <1 14 0xf08>, <1 11 0xf08>, <1 10 0xf08>; }; uart0: uart@4007000 { compatible = "snps,dw-apb-uart"; reg = <0x4007000 0x1000>; interrupts = <0 381 4>; clocks = <&clock HIP04_CLK_168M>; clock-names = "uartclk"; reg-shift = <2>; status = "disabled"; }; sata@a000000 { compatible = "hisilicon,hisi-ahci"; reg = <0xa000000 0x1000000>; interrupts = <0 372 4>; }; mdio { compatible = "hisilicon,hip04-mdio"; reg = <0x28f1000 0x1000>; #address-cells = <1>; #size-cells = <0>; phy0: ethernet-phy@0 { reg = <0>; marvell,reg-init = <18 0x14 0 0x8001>; device_type = "ethernet-phy"; }; phy1: ethernet-phy@1 { reg = <1>; marvell,reg-init = <18 0x14 0 0x8001>; device_type = "ethernet-phy"; }; }; ppebase: ppebase@28c0000 { compatible = "hisilicon,hip04-ppebase"; reg = <0x28c0000 0x10000>; }; fe: ethernet@28b0000 { compatible = "hisilicon,hip04-mac"; reg = <0x28b0000 0x10000>; interrupts = <0 413 4>; port = <31>; speed = <100>; id = <0>; }; ge0: ethernet@2800000 { compatible = "hisilicon,hip04-mac"; reg = <0x2800000 0x10000>; interrupts = <0 402 4>; port = <0>; speed = <1000>; id = <1>; phy-handle = <&phy0>; }; ge8: ethernet@2880000 { compatible = "hisilicon,hip04-mac"; reg = <0x2880000 0x10000>; interrupts = <0 410 4>; port = <8>; speed = <1000>; id = <2>; phy-handle = <&phy1>; }; }; };