]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
arm/dst: Add Aspeed ast2500 device tree
authorJoel Stanley <joel@jms.id.au>
Sun, 17 Apr 2016 06:20:56 +0000 (15:50 +0930)
committerJoel Stanley <joel@jms.id.au>
Mon, 9 May 2016 08:11:58 +0000 (17:41 +0930)
This adds a common device tree for all fifth generation Aspeed systems,
and a board specific device tree for the ast2500 evaluation board.

Signed-off-by: Joel Stanley <joel@jms.id.au>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/aspeed-ast2500-evb.dts [new file with mode: 0644]
arch/arm/boot/dts/aspeed-g5.dtsi [new file with mode: 0644]

index dee3a92cbd3ccac23c5d37e600da7792275f1a50..98251828883fc5b409a023541b6186a910d991ef 100644 (file)
@@ -839,7 +839,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
        mt8127-moose.dtb \
        mt8135-evbp1.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
-dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb
+dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb \
+       aspeed-ast2500-evb.dtb
 endif
 
 dtstree                := $(srctree)/$(src)
diff --git a/arch/arm/boot/dts/aspeed-ast2500-evb.dts b/arch/arm/boot/dts/aspeed-ast2500-evb.dts
new file mode 100644 (file)
index 0000000..1b7a5ff
--- /dev/null
@@ -0,0 +1,25 @@
+/dts-v1/;
+
+#include "aspeed-g5.dtsi"
+
+/ {
+       model = "AST2500 EVB";
+       compatible = "aspeed,ast2500";
+
+       aliases {
+               serial4 = &uart5;
+       };
+
+       chosen {
+               stdout-path = &uart5;
+               bootargs = "console=ttyS4,115200 earlyprintk";
+       };
+
+       memory {
+               reg = <0x80000000 0x20000000>;
+       };
+};
+
+&uart5 {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
new file mode 100644 (file)
index 0000000..dd94d93
--- /dev/null
@@ -0,0 +1,170 @@
+#include "skeleton.dtsi"
+
+/ {
+       model = "Aspeed BMC";
+       compatible = "aspeed,ast2500";
+       #address-cells = <1>;
+       #size-cells = <1>;
+       interrupt-parent = <&vic>;
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@0 {
+                       compatible = "arm,arm1176jzf-s";
+                       device_type = "cpu";
+                       reg = <0>;
+               };
+       };
+
+       ahb {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               vic: interrupt-controller@1e6c0080 {
+                       compatible = "aspeed,ast2400-vic";
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+                       valid-sources = <0xfefff7ff 0x0807ffff>;
+                       reg = <0x1e6c0080 0x80>;
+               };
+
+               apb {
+                       compatible = "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       clk_clkin: clk_clkin@1e6e2070 {
+                               #clock-cells = <0>;
+                               compatible = "aspeed,g5-clkin-clock";
+                               reg = <0x1e6e2070 0x04>;
+                       };
+
+                       clk_hpll: clk_hpll@1e6e2024 {
+                               #clock-cells = <0>;
+                               compatible = "aspeed,g5-hpll-clock";
+                               reg = <0x1e6e2024 0x4>;
+                               clocks = <&clk_clkin>;
+                       };
+
+                       clk_ahb: clk_ahb@1e6e2070 {
+                               #clock-cells = <0>;
+                               compatible = "aspeed,g5-ahb-clock";
+                               reg = <0x1e6e2070 0x4>;
+                               clocks = <&clk_hpll>;
+                       };
+
+                       clk_apb: clk_apb@1e6e2008 {
+                               #clock-cells = <0>;
+                               compatible = "aspeed,g5-apb-clock";
+                               reg = <0x1e6e2008 0x4>;
+                               clocks = <&clk_hpll>;
+                       };
+
+                       clk_uart: clk_uart@1e6e2008 {
+                               #clock-cells = <0>;
+                               compatible = "aspeed,uart-clock";
+                               reg = <0x1e6e202c 0x4>;
+                       };
+
+                       sram@1e720000 {
+                               compatible = "mmio-sram";
+                               reg = <0x1e720000 0x9000>;      // 36K
+                       };
+
+                       timer: timer@1e782000 {
+                               compatible = "aspeed,ast2400-timer";
+                               reg = <0x1e782000 0x90>;
+                               // The moxart_timer driver registers only one
+                               // interrupt and assumes it's for timer 1
+                               //interrupts = <16 17 18 35 36 37 38 39>;
+                               interrupts = <16>;
+                               clocks = <&clk_apb>;
+                       };
+
+                       wdt1: wdt@1e785000 {
+                               compatible = "aspeed,wdt";
+                               reg = <0x1e785000 0x1c>;
+                               interrupts = <27>;
+                       };
+
+                       wdt2: wdt@1e785020 {
+                               compatible = "aspeed,wdt";
+                               reg = <0x1e785020 0x1c>;
+                               interrupts = <27>;
+                               status = "disabled";
+                       };
+
+                       wdt3: wdt@1e785040 {
+                               compatible = "aspeed,wdt";
+                               reg = <0x1e785074 0x1c>;
+                               status = "disabled";
+                       };
+
+                       uart1: serial@1e783000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e783000 0x1000>;
+                               reg-shift = <2>;
+                               interrupts = <9>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
+
+                       uart2: serial@1e78d000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e78d000 0x1000>;
+                               reg-shift = <2>;
+                               interrupts = <32>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
+
+                       uart3: serial@1e78e000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e78e000 0x1000>;
+                               reg-shift = <2>;
+                               interrupts = <33>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
+
+                       uart4: serial@1e78f000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e78f000 0x1000>;
+                               reg-shift = <2>;
+                               interrupts = <34>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
+
+                       uart5: serial@1e784000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e784000 0x1000>;
+                               reg-shift = <2>;
+                               interrupts = <10>;
+                               clocks = <&clk_uart>;
+                               current-speed = <38400>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
+
+                       uart6: serial@1e787000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e787000 0x1000>;
+                               reg-shift = <2>;
+                               interrupts = <10>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
+               };
+       };
+};