aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/dts
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2015-02-27 17:39:49 +0000
committerJonas Gorski <jogo@openwrt.org>2015-02-27 17:39:49 +0000
commit5b8524b03de813f027ac49bd3158a7789a4cc4a8 (patch)
treee4fdb07032ee03a3205f361ef01bf01758d28784 /target/linux/brcm63xx/dts
parent3c7cb10dbaf76b9412671be92f551caee5f27d9e (diff)
downloadmaster-187ad058-5b8524b03de813f027ac49bd3158a7789a4cc4a8.tar.gz
master-187ad058-5b8524b03de813f027ac49bd3158a7789a4cc4a8.tar.bz2
master-187ad058-5b8524b03de813f027ac49bd3158a7789a4cc4a8.zip
brcm63xx: probe gpio controllers through DT
Add a generic mmio gpio controller based driver and probe it through device tree. Use aliases for base calculation until we converted all users to device tree or named gpios. Convert bcm63xx_enet's ephy-reset gpio to use a named gpio. While at it, remove the duplicate reset gpio defintion for livebox. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44565 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm63xx/dts')
-rw-r--r--target/linux/brcm63xx/dts/bcm3368.dtsi20
-rw-r--r--target/linux/brcm63xx/dts/bcm6318.dtsi23
-rw-r--r--target/linux/brcm63xx/dts/bcm63268.dtsi23
-rw-r--r--target/linux/brcm63xx/dts/bcm6328.dtsi12
-rw-r--r--target/linux/brcm63xx/dts/bcm6338.dtsi11
-rw-r--r--target/linux/brcm63xx/dts/bcm6345.dtsi11
-rw-r--r--target/linux/brcm63xx/dts/bcm6348.dtsi20
-rw-r--r--target/linux/brcm63xx/dts/bcm6358.dtsi20
-rw-r--r--target/linux/brcm63xx/dts/bcm6362.dtsi23
-rw-r--r--target/linux/brcm63xx/dts/bcm6368.dtsi20
10 files changed, 183 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/dts/bcm3368.dtsi b/target/linux/brcm63xx/dts/bcm3368.dtsi
index dba73b56cc..ebf3d1cd08 100644
--- a/target/linux/brcm63xx/dts/bcm3368.dtsi
+++ b/target/linux/brcm63xx/dts/bcm3368.dtsi
@@ -5,6 +5,8 @@
aliases {
pflash = &pflash;
+ gpio0 = &gpio0;
+ gpio1 = &gpio1;
};
cpus {
@@ -71,5 +73,23 @@
interrupt-parent = <&periph_intc>;
interrupts = <24>, <25>, <26>, <27>;
};
+
+ gpio1: gpio-controller@fff8c080 {
+ compatible = "brcm,6345-gpio";
+ reg = <0xfff8c080 4>, <0xfff8c088 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ ngpios = <8>;
+ };
+
+ gpio0: gpio-controller@fff8c084 {
+ compatible = "brcm,6345-gpio";
+ reg = <0xfff8c084 4>, <0xfff8c08c 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
};
};
diff --git a/target/linux/brcm63xx/dts/bcm6318.dtsi b/target/linux/brcm63xx/dts/bcm6318.dtsi
index 97bdea7b5b..f851a9cbf5 100644
--- a/target/linux/brcm63xx/dts/bcm6318.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6318.dtsi
@@ -3,6 +3,11 @@
#size-cells = <1>;
compatible = "brcm,bcm6318";
+ aliases {
+ gpio0 = &gpio0;
+ gpio1 = &gpio1;
+ };
+
cpus {
#address-cells = <1>;
#size-cells = <0>;
@@ -51,5 +56,23 @@
interrupt-parent = <&cpu_intc>;
interrupts = <2>;
};
+
+ gpio1: gpio-controller@10000080 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0x10000080 4>, <0x10000088 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ ngpios = <18>;
+ };
+
+ gpio0: gpio-controller@10000084 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0x10000084 4>, <0x1000008c 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
};
};
diff --git a/target/linux/brcm63xx/dts/bcm63268.dtsi b/target/linux/brcm63xx/dts/bcm63268.dtsi
index bc80d70575..0a1f8b17cf 100644
--- a/target/linux/brcm63xx/dts/bcm63268.dtsi
+++ b/target/linux/brcm63xx/dts/bcm63268.dtsi
@@ -3,6 +3,11 @@
#size-cells = <1>;
compatible = "brcm,bcm63268";
+ aliases {
+ gpio0 = &gpio0;
+ gpio1 = &gpio1;
+ };
+
cpus {
#address-cells = <1>;
#size-cells = <0>;
@@ -58,5 +63,23 @@
interrupt-parent = <&cpu_intc>;
interrupts = <2>, <3>;
};
+
+ gpio1: gpio-controller@100000c0 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0x100000c0 4>, <0x100000c8 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ ngpios = <20>;
+ };
+
+ gpio0: gpio-controller@100000c4 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0x100000c4 4>, <0x100000cc 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
};
};
diff --git a/target/linux/brcm63xx/dts/bcm6328.dtsi b/target/linux/brcm63xx/dts/bcm6328.dtsi
index 53f96ff009..a0b1316423 100644
--- a/target/linux/brcm63xx/dts/bcm6328.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6328.dtsi
@@ -3,6 +3,10 @@
#size-cells = <1>;
compatible = "brcm,bcm6328";
+ aliases {
+ gpio0 = &gpio0;
+ };
+
cpus {
#address-cells = <1>;
#size-cells = <0>;
@@ -51,5 +55,13 @@
interrupt-parent = <&cpu_intc>;
interrupts = <2>;
};
+
+ gpio0: gpio-controller@10000084 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0x10000084 4>, <0x1000008c 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
};
};
diff --git a/target/linux/brcm63xx/dts/bcm6338.dtsi b/target/linux/brcm63xx/dts/bcm6338.dtsi
index c1980f4036..d578a5b59b 100644
--- a/target/linux/brcm63xx/dts/bcm6338.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6338.dtsi
@@ -5,6 +5,7 @@
aliases {
pflash = &pflash;
+ gpio0 = &gpio0;
};
cpus {
@@ -65,5 +66,15 @@
interrupt-parent = <&cpu_intc>;
interrupts = <3>, <4>, <5>, <6>;
};
+
+ gpio0: gpio-controller@fffe0404 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0xfffe0404 4>, <0xfffe040c 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ ngpios = <8>;
+ };
};
};
diff --git a/target/linux/brcm63xx/dts/bcm6345.dtsi b/target/linux/brcm63xx/dts/bcm6345.dtsi
index e8e7016ff7..f70246860c 100644
--- a/target/linux/brcm63xx/dts/bcm6345.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6345.dtsi
@@ -5,6 +5,7 @@
aliases {
pflash = &pflash;
+ gpio0 = &gpio0;
};
cpus {
@@ -65,5 +66,15 @@
interrupt-parent = <&cpu_intc>;
interrupts = <3>, <4>, <5>, <6>;
};
+
+ gpio0: gpio-controller@fffe0404 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0xfffe0404 4>, <0xfffe0408 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ ngpios = <16>;
+ };
};
};
diff --git a/target/linux/brcm63xx/dts/bcm6348.dtsi b/target/linux/brcm63xx/dts/bcm6348.dtsi
index 7dd423b9ca..a4d8d9f0d0 100644
--- a/target/linux/brcm63xx/dts/bcm6348.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6348.dtsi
@@ -5,6 +5,8 @@
aliases {
pflash = &pflash;
+ gpio0 = &gpio0;
+ gpio1 = &gpio1;
};
cpus {
@@ -67,5 +69,23 @@
brcm,field-width = <5>;
};
+
+ gpio1: gpio-controller@fffe0400 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0xfffe0400 4>, <0xfffe0408 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ ngpios = <5>;
+ };
+
+ gpio0: gpio-controller@fffe0404 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0xfffe0404 4>, <0xfffe040c 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
};
};
diff --git a/target/linux/brcm63xx/dts/bcm6358.dtsi b/target/linux/brcm63xx/dts/bcm6358.dtsi
index 7217b8db6e..bc3784a221 100644
--- a/target/linux/brcm63xx/dts/bcm6358.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6358.dtsi
@@ -5,6 +5,8 @@
aliases {
pflash = &pflash;
+ gpio0 = &gpio0;
+ gpio1 = &gpio1;
};
cpus {
@@ -83,5 +85,23 @@
interrupt-parent = <&periph_intc>;
interrupts = <20>, <21>;
};
+
+ gpio1: gpio-controller@fffe0080 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0xfffe0080 4>, <0xfffe0088 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ ngpios = <8>;
+ };
+
+ gpio0: gpio-controller@fffe0084 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0xfffe0084 4>, <0xfffe008c 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
};
};
diff --git a/target/linux/brcm63xx/dts/bcm6362.dtsi b/target/linux/brcm63xx/dts/bcm6362.dtsi
index 4e2e41d5d4..6604f5cc62 100644
--- a/target/linux/brcm63xx/dts/bcm6362.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6362.dtsi
@@ -3,6 +3,11 @@
#size-cells = <1>;
compatible = "brcm,bcm6362";
+ aliases {
+ gpio0 = &gpio0;
+ gpio1 = &gpio1;
+ };
+
cpus {
#address-cells = <1>;
#size-cells = <0>;
@@ -58,5 +63,23 @@
interrupt-parent = <&cpu_intc>;
interrupts = <2>, <3>;
};
+
+ gpio1: gpio-controller@10000080 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0x10000080 4>, <0x10000088 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ ngpios = <16>;
+ };
+
+ gpio0: gpio-controller@10000084 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0x10000084 4>, <0x1000008c 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
};
};
diff --git a/target/linux/brcm63xx/dts/bcm6368.dtsi b/target/linux/brcm63xx/dts/bcm6368.dtsi
index 27b9f62b69..628c2d0d34 100644
--- a/target/linux/brcm63xx/dts/bcm6368.dtsi
+++ b/target/linux/brcm63xx/dts/bcm6368.dtsi
@@ -5,6 +5,8 @@
aliases {
pflash = &pflash;
+ gpio0 = &gpio0;
+ gpio1 = &gpio1;
};
cpus {
@@ -73,6 +75,24 @@
interrupt-parent = <&cpu_intc>;
interrupts = <2>, <3>;
};
+
+ gpio1: gpio-controller@10000080 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0x10000080 4>, <0x10000088 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ ngpios = <6>;
+ };
+
+ gpio0: gpio-controller@10000084 {
+ compatible = "brcm,bcm6345-gpio";
+ reg = <0x10000084 4>, <0x1000008c 4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
};
pflash: nor@18000000 {