mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 02:50:43 +00:00
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:
commit
d6a58a5cc1
6 changed files with 402 additions and 11 deletions
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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>;
|
||||
|
|
34
arch/arm64/boot/dts/hisilicon/hip06-d03.dts
Normal file
34
arch/arm64/boot/dts/hisilicon/hip06-d03.dts
Normal 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";
|
||||
};
|
307
arch/arm64/boot/dts/hisilicon/hip06.dtsi
Normal file
307
arch/arm64/boot/dts/hisilicon/hip06.dtsi
Normal 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";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
Loading…
Reference in a new issue