139889b82SHanna Hawa/*
239889b82SHanna Hawa * Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
339889b82SHanna Hawa *
439889b82SHanna Hawa * Antoine Tenart <antoine.tenart@free-electrons.com>
539889b82SHanna Hawa *
639889b82SHanna Hawa * This software is available to you under a choice of one of two
739889b82SHanna Hawa * licenses.  You may choose to be licensed under the terms of the GNU
839889b82SHanna Hawa * General Public License (GPL) Version 2, available from the file
939889b82SHanna Hawa * COPYING in the main directory of this source tree, or the
1039889b82SHanna Hawa * BSD license below:
1139889b82SHanna Hawa *
1239889b82SHanna Hawa *     Redistribution and use in source and binary forms, with or
1339889b82SHanna Hawa *     without modification, are permitted provided that the following
1439889b82SHanna Hawa *     conditions are met:
1539889b82SHanna Hawa *
1639889b82SHanna Hawa *      - Redistributions of source code must retain the above
1739889b82SHanna Hawa *        copyright notice, this list of conditions and the following
1839889b82SHanna Hawa *        disclaimer.
1939889b82SHanna Hawa *
2039889b82SHanna Hawa *      - Redistributions in binary form must reproduce the above
2139889b82SHanna Hawa *        copyright notice, this list of conditions and the following
2239889b82SHanna Hawa *        disclaimer in the documentation and/or other materials
2339889b82SHanna Hawa *        provided with the distribution.
2439889b82SHanna Hawa *
2539889b82SHanna Hawa * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2639889b82SHanna Hawa * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
2739889b82SHanna Hawa * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2839889b82SHanna Hawa * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
2939889b82SHanna Hawa * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
3039889b82SHanna Hawa * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
3139889b82SHanna Hawa * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3239889b82SHanna Hawa * SOFTWARE.
3339889b82SHanna Hawa */
3439889b82SHanna Hawa
3539889b82SHanna Hawa/dts-v1/;
3639889b82SHanna Hawa
3739889b82SHanna Hawa#include <dt-bindings/interrupt-controller/arm-gic.h>
3839889b82SHanna Hawa
3939889b82SHanna Hawa/ {
4039889b82SHanna Hawa	model = "Annapurna Labs Alpine v2";
4139889b82SHanna Hawa	compatible = "al,alpine-v2";
4239889b82SHanna Hawa	#address-cells = <2>;
4339889b82SHanna Hawa	#size-cells = <2>;
4439889b82SHanna Hawa
4539889b82SHanna Hawa	cpus {
4639889b82SHanna Hawa		#address-cells = <2>;
4739889b82SHanna Hawa		#size-cells = <0>;
4839889b82SHanna Hawa
4939889b82SHanna Hawa		cpu@0 {
5039889b82SHanna Hawa			compatible = "arm,cortex-a57";
5139889b82SHanna Hawa			device_type = "cpu";
5239889b82SHanna Hawa			reg = <0x0 0x0>;
5339889b82SHanna Hawa			enable-method = "psci";
5439889b82SHanna Hawa		};
5539889b82SHanna Hawa
5639889b82SHanna Hawa		cpu@1 {
5739889b82SHanna Hawa			compatible = "arm,cortex-a57";
5839889b82SHanna Hawa			device_type = "cpu";
5939889b82SHanna Hawa			reg = <0x0 0x1>;
6039889b82SHanna Hawa			enable-method = "psci";
6139889b82SHanna Hawa		};
6239889b82SHanna Hawa
6339889b82SHanna Hawa		cpu@2 {
6439889b82SHanna Hawa			compatible = "arm,cortex-a57";
6539889b82SHanna Hawa			device_type = "cpu";
6639889b82SHanna Hawa			reg = <0x0 0x2>;
6739889b82SHanna Hawa			enable-method = "psci";
6839889b82SHanna Hawa		};
6939889b82SHanna Hawa
7039889b82SHanna Hawa		cpu@3 {
7139889b82SHanna Hawa			compatible = "arm,cortex-a57";
7239889b82SHanna Hawa			device_type = "cpu";
7339889b82SHanna Hawa			reg = <0x0 0x3>;
7439889b82SHanna Hawa			enable-method = "psci";
7539889b82SHanna Hawa		};
7639889b82SHanna Hawa	};
7739889b82SHanna Hawa
7839889b82SHanna Hawa	psci {
7939889b82SHanna Hawa		compatible = "arm,psci-0.2", "arm,psci";
8039889b82SHanna Hawa		method = "smc";
8139889b82SHanna Hawa		cpu_suspend = <0x84000001>;
8239889b82SHanna Hawa		cpu_off = <0x84000002>;
8339889b82SHanna Hawa		cpu_on = <0x84000003>;
8439889b82SHanna Hawa	};
8539889b82SHanna Hawa
8639889b82SHanna Hawa	sbclk: sbclk {
8739889b82SHanna Hawa		compatible = "fixed-clock";
8839889b82SHanna Hawa		#clock-cells = <0>;
8939889b82SHanna Hawa		clock-frequency = <1000000>;
9039889b82SHanna Hawa	};
9139889b82SHanna Hawa
9239889b82SHanna Hawa	soc {
9339889b82SHanna Hawa		compatible = "simple-bus";
9439889b82SHanna Hawa		#address-cells = <2>;
9539889b82SHanna Hawa		#size-cells = <2>;
9639889b82SHanna Hawa
9739889b82SHanna Hawa		interrupt-parent = <&gic>;
9839889b82SHanna Hawa		ranges;
9939889b82SHanna Hawa
10039889b82SHanna Hawa		timer {
10139889b82SHanna Hawa			compatible = "arm,armv8-timer";
10239889b82SHanna Hawa			interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
10339889b82SHanna Hawa				     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
10439889b82SHanna Hawa				     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
10539889b82SHanna Hawa				     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
10639889b82SHanna Hawa		};
10739889b82SHanna Hawa
10839889b82SHanna Hawa		pmu {
10939889b82SHanna Hawa			compatible = "arm,armv8-pmuv3";
11039889b82SHanna Hawa			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
11139889b82SHanna Hawa				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
11239889b82SHanna Hawa				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
11339889b82SHanna Hawa				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
11439889b82SHanna Hawa		};
11539889b82SHanna Hawa
1165024f03cSKrzysztof Kozlowski		gic: interrupt-controller@f0200000 {
11739889b82SHanna Hawa			compatible = "arm,gic-v3";
11839889b82SHanna Hawa			reg = <0x0 0xf0200000 0x0 0x10000>,	/* GIC Dist */
11939889b82SHanna Hawa			      <0x0 0xf0280000 0x0 0x200000>,	/* GICR */
12039889b82SHanna Hawa			      <0x0 0xf0100000 0x0 0x2000>,	/* GICC */
12139889b82SHanna Hawa			      <0x0 0xf0110000 0x0 0x2000>,	/* GICV */
12239889b82SHanna Hawa			      <0x0 0xf0120000 0x0 0x2000>;	/* GICH */
12339889b82SHanna Hawa			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
12439889b82SHanna Hawa			interrupt-controller;
12539889b82SHanna Hawa			#interrupt-cells = <3>;
12639889b82SHanna Hawa		};
12739889b82SHanna Hawa
12839889b82SHanna Hawa		pci@fbc00000 {
12939889b82SHanna Hawa			compatible = "pci-host-ecam-generic";
13039889b82SHanna Hawa			device_type = "pci";
13139889b82SHanna Hawa			#size-cells = <2>;
13239889b82SHanna Hawa			#address-cells = <3>;
13339889b82SHanna Hawa			#interrupt-cells = <1>;
13439889b82SHanna Hawa			reg = <0x0 0xfbc00000 0x0 0x100000>;
13539889b82SHanna Hawa			interrupt-map-mask = <0xf800 0 0 7>;
13639889b82SHanna Hawa			/* add legacy interrupts for SATA only */
13739889b82SHanna Hawa			interrupt-map = <0x4000 0 0 1 &gic 0 53 4>,
13839889b82SHanna Hawa					<0x4800 0 0 1 &gic 0 54 4>;
13939889b82SHanna Hawa			/* 32 bit non prefetchable memory space */
14039889b82SHanna Hawa			ranges = <0x2000000 0x0 0xfe000000 0x0 0xfe000000 0x0 0x1000000>;
14139889b82SHanna Hawa			bus-range = <0x00 0x00>;
14239889b82SHanna Hawa			msi-parent = <&msix>;
14339889b82SHanna Hawa		};
14439889b82SHanna Hawa
14539889b82SHanna Hawa		msix: msix@fbe00000 {
14639889b82SHanna Hawa			compatible = "al,alpine-msix";
14739889b82SHanna Hawa			reg = <0x0 0xfbe00000 0x0 0x100000>;
14839889b82SHanna Hawa			msi-controller;
14939889b82SHanna Hawa			al,msi-base-spi = <160>;
15039889b82SHanna Hawa			al,msi-num-spis = <160>;
15139889b82SHanna Hawa		};
15239889b82SHanna Hawa
15339889b82SHanna Hawa		io-fabric {
15439889b82SHanna Hawa			compatible = "simple-bus";
15539889b82SHanna Hawa			#address-cells = <1>;
15639889b82SHanna Hawa			#size-cells = <1>;
15739889b82SHanna Hawa			ranges = <0x0 0x0 0xfc000000 0x2000000>;
15839889b82SHanna Hawa
15939889b82SHanna Hawa			uart0: serial@1883000 {
16039889b82SHanna Hawa				compatible = "ns16550a";
16139889b82SHanna Hawa				reg = <0x1883000 0x1000>;
16239889b82SHanna Hawa				interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
16339889b82SHanna Hawa				clock-frequency = <500000000>;
16439889b82SHanna Hawa				reg-shift = <2>;
16539889b82SHanna Hawa				reg-io-width = <4>;
16639889b82SHanna Hawa				status = "disabled";
16739889b82SHanna Hawa			};
16839889b82SHanna Hawa
16939889b82SHanna Hawa			uart1: serial@1884000 {
17039889b82SHanna Hawa				compatible = "ns16550a";
17139889b82SHanna Hawa				reg = <0x1884000 0x1000>;
17239889b82SHanna Hawa				interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
17339889b82SHanna Hawa				clock-frequency = <500000000>;
17439889b82SHanna Hawa				reg-shift = <2>;
17539889b82SHanna Hawa				reg-io-width = <4>;
17639889b82SHanna Hawa				status = "disabled";
17739889b82SHanna Hawa			};
17839889b82SHanna Hawa
17939889b82SHanna Hawa			uart2: serial@1885000 {
18039889b82SHanna Hawa				compatible = "ns16550a";
18139889b82SHanna Hawa				reg = <0x1885000 0x1000>;
18239889b82SHanna Hawa				interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
18339889b82SHanna Hawa				clock-frequency = <500000000>;
18439889b82SHanna Hawa				reg-shift = <2>;
18539889b82SHanna Hawa				reg-io-width = <4>;
18639889b82SHanna Hawa				status = "disabled";
18739889b82SHanna Hawa			};
18839889b82SHanna Hawa
18939889b82SHanna Hawa			uart3: serial@1886000 {
19039889b82SHanna Hawa				compatible = "ns16550a";
19139889b82SHanna Hawa				reg = <0x1886000 0x1000>;
19239889b82SHanna Hawa				interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
19339889b82SHanna Hawa				clock-frequency = <500000000>;
19439889b82SHanna Hawa				reg-shift = <2>;
19539889b82SHanna Hawa				reg-io-width = <4>;
19639889b82SHanna Hawa				status = "disabled";
19739889b82SHanna Hawa			};
19839889b82SHanna Hawa
19939889b82SHanna Hawa			timer0: timer@1890000 {
20039889b82SHanna Hawa				compatible = "arm,sp804", "arm,primecell";
20139889b82SHanna Hawa				reg = <0x1890000 0x1000>;
20239889b82SHanna Hawa				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
20339889b82SHanna Hawa				clocks = <&sbclk>;
20439889b82SHanna Hawa			};
20539889b82SHanna Hawa
20639889b82SHanna Hawa			timer1: timer@1891000 {
20739889b82SHanna Hawa				compatible = "arm,sp804", "arm,primecell";
20839889b82SHanna Hawa				reg = <0x1891000 0x1000>;
20939889b82SHanna Hawa				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
21039889b82SHanna Hawa				clocks = <&sbclk>;
21139889b82SHanna Hawa				status = "disabled";
21239889b82SHanna Hawa			};
21339889b82SHanna Hawa
21439889b82SHanna Hawa			timer2: timer@1892000 {
21539889b82SHanna Hawa				compatible = "arm,sp804", "arm,primecell";
21639889b82SHanna Hawa				reg = <0x1892000 0x1000>;
21739889b82SHanna Hawa				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
21839889b82SHanna Hawa				clocks = <&sbclk>;
21939889b82SHanna Hawa				status = "disabled";
22039889b82SHanna Hawa			};
22139889b82SHanna Hawa
22239889b82SHanna Hawa			timer3: timer@1893000 {
22339889b82SHanna Hawa				compatible = "arm,sp804", "arm,primecell";
22439889b82SHanna Hawa				reg = <0x1893000 0x1000>;
22539889b82SHanna Hawa				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
22639889b82SHanna Hawa				clocks = <&sbclk>;
22739889b82SHanna Hawa				status = "disabled";
22839889b82SHanna Hawa			};
22939889b82SHanna Hawa		};
23039889b82SHanna Hawa	};
23139889b82SHanna Hawa};
232