ARM64: DT: Hisilicon hip05 and hip06 updates for 4.7

- Fix its node without msi-cells for hip05
 - Add nor flash node for hip05 D02 board
 - Add initial dts for hip06 D03 board
 - Reorder and add the hip06 D03 binding in the binding document
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXINEDAAoJEAvIV27ZiWZcwQkQAIOSd4juC+23IfAOQHxdUANx
 6nLxoAEFDqTA/mOLap1a7ttKTqlhRRPXepw8+mT+JqaNgd7oegXVWsoy7G+t6EGS
 62piFNCY0V7PnpGyjSriN73Fup99RLKSbvhOvdn0zM1h2hlO5skSBj+ApVjTcclc
 ca+2ovMwdlUA3FIaIFjsFb+UDKju/VnShNBus2Uhb6dvdwHZ1jbTSKvfDd2PEcSy
 O0/E/DuZ7RyzpAaS93jy2Malhkl5ojw1O6svbXHD7/fgmQKHxIQSzXza0yKhO+fR
 Kx5zuoQxb2/Uwi/hI3lxmCWGJoht3jzlmqCYivP/FT3y+204MrcCyoZpCPN5jBhB
 todtfNRTWze5+8gEmPBPbCth3/4rAeWWbG1IObylNL8J4fxgQp5mUFHtAe8F3Q4v
 6pcoXFynN2eKFCEXjw0G/E+3DjeAjaGiOtY+XnPnYvh4vQUqzFhxObEDi3gg4Rs5
 SqHHpcV3n3lWv16kgSNbHP1I8RMFt44JwBchakzYrV+fz35JlFxiojCDumz5eotK
 s7dqGzAGNFzk0KxNi/Wwrn0dVPQk8FZfO9XuCb4Rl+ThO3VRKC6lhgP/S93sBYUk
 EgABmLJr/zv3TdymaMFAOcekWqBcwzTgQ7eGFGF20E5pvsUjCmtU3nFE6mG+IPoM
 kmrGprVN/53FrYX3DDaF
 =OZ3Q
 -----END PGP SIGNATURE-----

Merge tag 'hip0x-dt-for-4.7' of git://github.com/hisilicon/linux-hisi into next/dt64

Merge "ARM64: DT: Hisilicon hip05 and hip06 updates for 4.7" Wei Xu:

- Fix its node without msi-cells for hip05
- Add nor flash node for hip05 D02 board
- Add initial dts for hip06 D03 board
- Reorder and add the hip06 D03 binding in the binding document

* tag 'hip0x-dt-for-4.7' of git://github.com/hisilicon/linux-hisi:
  Documentation: arm64: Add Hisilicon Hip06 D03 dts binding
  arm64: dts: Add initial dts for Hisilicon Hip06 D03 board
  arm64: dts: hip05: Add nor flash support
  arm64: dts: hip05: fix its node without msi-cells
This commit is contained in:
Arnd Bergmann 2016-04-28 16:16:00 +02:00
commit d6a58a5cc1
6 changed files with 402 additions and 11 deletions

View file

@ -1,29 +1,33 @@
Hisilicon Platforms Device Tree Bindings
----------------------------------------------------
Hi6220 SoC
Required root node properties:
- compatible = "hisilicon,hi6220";
Hi4511 Board
Required root node properties:
- compatible = "hisilicon,hi3620-hi4511";
HiP04 D01 Board
Hi6220 SoC
Required root node properties:
- compatible = "hisilicon,hip04-d01";
HiP01 ca9x2 Board
Required root node properties:
- compatible = "hisilicon,hip01-ca9x2";
- compatible = "hisilicon,hi6220";
HiKey Board
Required root node properties:
- compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220";
HiP01 ca9x2 Board
Required root node properties:
- compatible = "hisilicon,hip01-ca9x2";
HiP04 D01 Board
Required root node properties:
- compatible = "hisilicon,hip04-d01";
HiP05 D02 Board
Required root node properties:
- compatible = "hisilicon,hip05-d02";
HiP06 D03 Board
Required root node properties:
- compatible = "hisilicon,hip06-d03";
Hisilicon system controller
Required properties:

View file

@ -1,4 +1,6 @@
dtb-$(CONFIG_ARCH_HISI) += hi6220-hikey.dtb hip05-d02.dtb
dtb-$(CONFIG_ARCH_HISI) += hi6220-hikey.dtb
dtb-$(CONFIG_ARCH_HISI) += hip05-d02.dtb
dtb-$(CONFIG_ARCH_HISI) += hip06-d03.dtb
always := $(dtb-y)
subdir-y := $(dts-dirs)

View file

@ -52,3 +52,37 @@ &uart0 {
&peri_gpio0 {
status = "ok";
};
&lbc {
status = "ok";
#address-cells = <2>;
#size-cells = <1>;
ranges = <0 0 0x0 0x90000000 0x08000000>,
<1 0 0x0 0x98000000 0x08000000>;
nor-flash@0,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "numonyx,js28f00a", "cfi-flash";
reg = <0 0x0 0x08000000>;
bank-width = <2>;
/* The three parts may not used */
partition@0 {
label = "BIOS";
reg = <0x0 0x300000>;
};
partition@300000 {
label = "Linux";
reg = <0x300000 0xa00000>;
};
partition@1000000 {
label = "Rootfs";
reg = <0x01000000 0x02000000>;
};
};
cpld@1,0 {
compatible = "hisilicon,hip05-cpld";
reg = <1 0x0 0x100>;
};
};

View file

@ -249,24 +249,28 @@ gic: interrupt-controller@8d000000 {
its_peri: interrupt-controller@8c000000 {
compatible = "arm,gic-v3-its";
msi-controller;
#msi-cells = <1>;
reg = <0x0 0x8c000000 0x0 0x40000>;
};
its_m3: interrupt-controller@a3000000 {
compatible = "arm,gic-v3-its";
msi-controller;
#msi-cells = <1>;
reg = <0x0 0xa3000000 0x0 0x40000>;
};
its_pcie: interrupt-controller@b7000000 {
compatible = "arm,gic-v3-its";
msi-controller;
#msi-cells = <1>;
reg = <0x0 0xb7000000 0x0 0x40000>;
};
its_dsa: interrupt-controller@c6000000 {
compatible = "arm,gic-v3-its";
msi-controller;
#msi-cells = <1>;
reg = <0x0 0xc6000000 0x0 0x40000>;
};
};
@ -323,6 +327,12 @@ uart1: uart@80310000 {
status = "disabled";
};
lbc: localbus@80380000 {
compatible = "hisilicon,hisi-localbus", "simple-bus";
reg = <0x0 0x80380000 0x0 0x10000>;
status = "disabled";
};
peri_gpio0: gpio@802e0000 {
#address-cells = <1>;
#size-cells = <0>;

View file

@ -0,0 +1,34 @@
/**
* dts file for Hisilicon D03 Development Board
*
* Copyright (C) 2016 Hisilicon Ltd.
*
* 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.
*
*/
/dts-v1/;
#include "hip06.dtsi"
/ {
model = "Hisilicon Hip06 D03 Development Board";
compatible = "hisilicon,hip06-d03";
memory@00000000 {
device_type = "memory";
reg = <0x0 0x00000000 0x0 0x40000000>;
};
chosen { };
};
&usb_ohci {
status = "ok";
};
&usb_ehci {
status = "ok";
};

View file

@ -0,0 +1,307 @@
/**
* dts file for Hisilicon D03 Development Board
*
* Copyright (C) 2016 Hisilicon Ltd.
*
* 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 <dt-bindings/interrupt-controller/arm-gic.h>
/ {
compatible = "hisilicon,hip06-d03";
interrupt-parent = <&gic>;
#address-cells = <2>;
#size-cells = <2>;
psci {
compatible = "arm,psci-0.2";
method = "smc";
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu-map {
cluster0 {
core0 {
cpu = <&cpu0>;
};
core1 {
cpu = <&cpu1>;
};
core2 {
cpu = <&cpu2>;
};
core3 {
cpu = <&cpu3>;
};
};
cluster1 {
core0 {
cpu = <&cpu4>;
};
core1 {
cpu = <&cpu5>;
};
core2 {
cpu = <&cpu6>;
};
core3 {
cpu = <&cpu7>;
};
};
cluster2 {
core0 {
cpu = <&cpu8>;
};
core1 {
cpu = <&cpu9>;
};
core2 {
cpu = <&cpu10>;
};
core3 {
cpu = <&cpu11>;
};
};
cluster3 {
core0 {
cpu = <&cpu12>;
};
core1 {
cpu = <&cpu13>;
};
core2 {
cpu = <&cpu14>;
};
core3 {
cpu = <&cpu15>;
};
};
};
cpu0: cpu@10000 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10000>;
enable-method = "psci";
next-level-cache = <&cluster0_l2>;
};
cpu1: cpu@10001 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10001>;
enable-method = "psci";
next-level-cache = <&cluster0_l2>;
};
cpu2: cpu@10002 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10002>;
enable-method = "psci";
next-level-cache = <&cluster0_l2>;
};
cpu3: cpu@10003 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10003>;
enable-method = "psci";
next-level-cache = <&cluster0_l2>;
};
cpu4: cpu@10100 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10100>;
enable-method = "psci";
next-level-cache = <&cluster1_l2>;
};
cpu5: cpu@10101 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10101>;
enable-method = "psci";
next-level-cache = <&cluster1_l2>;
};
cpu6: cpu@10102 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10102>;
enable-method = "psci";
next-level-cache = <&cluster1_l2>;
};
cpu7: cpu@10103 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10103>;
enable-method = "psci";
next-level-cache = <&cluster1_l2>;
};
cpu8: cpu@10200 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10200>;
enable-method = "psci";
next-level-cache = <&cluster2_l2>;
};
cpu9: cpu@10201 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10201>;
enable-method = "psci";
next-level-cache = <&cluster2_l2>;
};
cpu10: cpu@10202 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10202>;
enable-method = "psci";
next-level-cache = <&cluster2_l2>;
};
cpu11: cpu@10203 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10203>;
enable-method = "psci";
next-level-cache = <&cluster2_l2>;
};
cpu12: cpu@10300 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10300>;
enable-method = "psci";
next-level-cache = <&cluster3_l2>;
};
cpu13: cpu@10301 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10301>;
enable-method = "psci";
next-level-cache = <&cluster3_l2>;
};
cpu14: cpu@10302 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10302>;
enable-method = "psci";
next-level-cache = <&cluster3_l2>;
};
cpu15: cpu@10303 {
device_type = "cpu";
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x10303>;
enable-method = "psci";
next-level-cache = <&cluster3_l2>;
};
cluster0_l2: l2-cache0 {
compatible = "cache";
};
cluster1_l2: l2-cache1 {
compatible = "cache";
};
cluster2_l2: l2-cache2 {
compatible = "cache";
};
cluster3_l2: l2-cache3 {
compatible = "cache";
};
};
gic: interrupt-controller@4d000000 {
compatible = "arm,gic-v3";
#interrupt-cells = <3>;
#address-cells = <2>;
#size-cells = <2>;
ranges;
interrupt-controller;
#redistributor-regions = <1>;
redistributor-stride = <0x0 0x30000>;
reg = <0x0 0x4d000000 0 0x10000>, /* GICD */
<0x0 0x4d100000 0 0x300000>, /* GICR */
<0x0 0xfe000000 0 0x10000>, /* GICC */
<0x0 0xfe010000 0 0x10000>, /* GICH */
<0x0 0xfe020000 0 0x10000>; /* GICV */
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
its_dsa: interrupt-controller@c6000000 {
compatible = "arm,gic-v3-its";
msi-controller;
#msi-cells = <1>;
reg = <0x0 0xc6000000 0x0 0x40000>;
};
};
timer {
compatible = "arm,armv8-timer";
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
};
pmu {
compatible = "arm,cortex-a57-pmu";
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
};
mbigen_pcie@a0080000 {
compatible = "hisilicon,mbigen-v2";
reg = <0x0 0xa0080000 0x0 0x10000>;
mbigen_usb: intc_usb {
msi-parent = <&its_dsa 0x40080>;
interrupt-controller;
#interrupt-cells = <2>;
num-pins = <2>;
};
};
soc {
compatible = "simple-bus";
#address-cells = <2>;
#size-cells = <2>;
ranges;
usb_ohci: ohci@a7030000 {
compatible = "generic-ohci";
reg = <0x0 0xa7030000 0x0 0x10000>;
interrupt-parent = <&mbigen_usb>;
interrupts = <64 4>;
dma-coherent;
status = "disabled";
};
usb_ehci: ehci@a7020000 {
compatible = "generic-ehci";
reg = <0x0 0xa7020000 0x0 0x10000>;
interrupt-parent = <&mbigen_usb>;
interrupts = <65 4>;
dma-coherent;
status = "disabled";
};
};
};