123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- // SPDX-License-Identifier: GPL-2.0-or-later
- /*
- * Copyright (c) 2020 thingy.jp.
- * Author: Daniel Palmer <[email protected]>
- */
- #include <dt-bindings/interrupt-controller/irq.h>
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- #include <dt-bindings/clock/mstar-msc313-mpll.h>
- / {
- #address-cells = <1>;
- #size-cells = <1>;
- interrupt-parent = <&gic>;
- cpus: cpus {
- #address-cells = <1>;
- #size-cells = <0>;
- cpu0: cpu@0 {
- device_type = "cpu";
- compatible = "arm,cortex-a7";
- reg = <0x0>;
- clocks = <&cpupll>;
- clock-names = "cpuclk";
- };
- };
- arch_timer {
- compatible = "arm,armv7-timer";
- interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
- | IRQ_TYPE_LEVEL_LOW)>,
- <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
- | IRQ_TYPE_LEVEL_LOW)>,
- <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
- | IRQ_TYPE_LEVEL_LOW)>,
- <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
- | IRQ_TYPE_LEVEL_LOW)>;
- /*
- * we shouldn't need this but the vendor
- * u-boot is broken
- */
- clock-frequency = <6000000>;
- arm,cpu-registers-not-fw-configured;
- };
- pmu: pmu {
- compatible = "arm,cortex-a7-pmu";
- interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-affinity = <&cpu0>;
- };
- clocks: clocks {
- xtal: xtal {
- #clock-cells = <0>;
- compatible = "fixed-clock";
- clock-frequency = <24000000>;
- };
- rtc_xtal: rtc_xtal {
- #clock-cells = <0>;
- compatible = "fixed-clock";
- clock-frequency = <32768>;
- status = "disabled";
- };
- xtal_div2: xtal_div2 {
- #clock-cells = <0>;
- compatible = "fixed-factor-clock";
- clocks = <&xtal>;
- clock-div = <2>;
- clock-mult = <1>;
- };
- };
- soc: soc {
- compatible = "simple-bus";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0x16001000 0x16001000 0x00007000>,
- <0x1f000000 0x1f000000 0x00400000>,
- <0xa0000000 0xa0000000 0x20000>;
- gic: interrupt-controller@16001000 {
- compatible = "arm,cortex-a7-gic";
- reg = <0x16001000 0x1000>,
- <0x16002000 0x2000>,
- <0x16004000 0x2000>,
- <0x16006000 0x2000>;
- #interrupt-cells = <3>;
- interrupt-controller;
- interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2)
- | IRQ_TYPE_LEVEL_LOW)>;
- };
- riu: bus@1f000000 {
- compatible = "simple-bus";
- reg = <0x1f000000 0x00400000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0x0 0x1f000000 0x00400000>;
- pmsleep: syscon@1c00 {
- compatible = "mstar,msc313-pmsleep", "syscon";
- reg = <0x1c00 0x100>;
- };
- reboot {
- compatible = "syscon-reboot";
- regmap = <&pmsleep>;
- offset = <0xb8>;
- mask = <0x79>;
- };
- rtc@2400 {
- compatible = "mstar,msc313-rtc";
- reg = <0x2400 0x40>;
- clocks = <&xtal_div2>;
- interrupts-extended = <&intc_irq GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
- };
- watchdog@6000 {
- compatible = "mstar,msc313e-wdt";
- reg = <0x6000 0x1f>;
- clocks = <&xtal_div2>;
- };
- intc_fiq: interrupt-controller@201310 {
- compatible = "mstar,mst-intc";
- reg = <0x201310 0x40>;
- #interrupt-cells = <3>;
- interrupt-controller;
- interrupt-parent = <&gic>;
- mstar,irqs-map-range = <96 127>;
- };
- intc_irq: interrupt-controller@201350 {
- compatible = "mstar,mst-intc";
- reg = <0x201350 0x40>;
- #interrupt-cells = <3>;
- interrupt-controller;
- interrupt-parent = <&gic>;
- mstar,irqs-map-range = <32 95>;
- mstar,intc-no-eoi;
- };
- l3bridge: l3bridge@204400 {
- compatible = "mstar,l3bridge";
- reg = <0x204400 0x200>;
- };
- mpll: mpll@206000 {
- compatible = "mstar,msc313-mpll";
- #clock-cells = <1>;
- reg = <0x206000 0x200>;
- clocks = <&xtal>;
- };
- cpupll: cpupll@206400 {
- compatible = "mstar,msc313-cpupll";
- reg = <0x206400 0x200>;
- #clock-cells = <0>;
- clocks = <&mpll MSTAR_MSC313_MPLL_DIV2>;
- };
- gpio: gpio@207800 {
- #gpio-cells = <2>;
- reg = <0x207800 0x200>;
- gpio-controller;
- #interrupt-cells = <2>;
- interrupt-controller;
- interrupt-parent = <&intc_fiq>;
- status = "disabled";
- };
- pm_uart: uart@221000 {
- compatible = "ns16550a";
- reg = <0x221000 0x100>;
- reg-shift = <3>;
- interrupts-extended = <&intc_irq GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
- clock-frequency = <172000000>;
- status = "disabled";
- };
- };
- imi: sram@a0000000 {
- compatible = "mmio-sram";
- reg = <0xa0000000 0x10000>;
- };
- };
- };
|