[source] ipq806x: fixes for R7800 and C2600

LEDE Commits lede-commits at lists.infradead.org
Wed Nov 16 02:11:11 PST 2016


blogic pushed a commit to source.git, branch master:
https://git.lede-project.org/5aace5a5fbcf4a80c6765b605ffdd86d2cfadfb0

commit 5aace5a5fbcf4a80c6765b605ffdd86d2cfadfb0
Author: Pavel Kubelun <be.dissent at gmail.com>
AuthorDate: Tue Nov 8 08:49:07 2016 +0300

    ipq806x: fixes for R7800 and C2600
    
    Updating spi pins configuration in R7800 and C2600 DTs
    Adding more usb power pin export and gsbi6 in R7800 DT
    Updating and fixing leds
    
    Signed-off-by: Pavel Kubelun <be.dissent at gmail.com>
---
 .../linux/ipq806x/base-files/etc/board.d/01_leds   |  6 +-
 .../files/arch/arm/boot/dts/qcom-ipq8064-c2600.dts | 28 ++++++-
 .../files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts | 93 ++++++++++++++++++++--
 .../files/arch/arm/boot/dts/qcom-ipq8065.dtsi      |  6 +-
 4 files changed, 115 insertions(+), 18 deletions(-)

diff --git a/target/linux/ipq806x/base-files/etc/board.d/01_leds b/target/linux/ipq806x/base-files/etc/board.d/01_leds
index fbe19cd..1f3d313 100755
--- a/target/linux/ipq806x/base-files/etc/board.d/01_leds
+++ b/target/linux/ipq806x/base-files/etc/board.d/01_leds
@@ -15,7 +15,7 @@ c2600)
 	ucidef_set_led_usbport "usb1" "USB 1" "${board}:white:usb_2" "usb1-port1" "usb2-port1"
 	ucidef_set_led_usbport "usb2" "USB 2" "${board}:white:usb_4" "usb3-port1" "usb4-port1"
 	ucidef_set_led_netdev "wan" "WAN" "${board}:white:wan" "eth0"
-	ucidef_set_led_netdev "lan" "LAN" "${board}:white:lan" "br-lan"
+	ucidef_set_led_netdev "lan" "LAN" "${board}:white:lan" "eth1"
 	ucidef_set_led_default "general" "general" "${board}:white:ledgnr" "1"
 	;;
 d7800 |\
@@ -29,8 +29,8 @@ r7500v2)
 	ucidef_set_led_default "rfkill" "rfkill" "${board}:white:rfkill" "0"
 	;;
 r7800)
-	ucidef_set_led_usbdev "usb1" "USB 1" "${board}:white:usb1" "2-1"
-	ucidef_set_led_usbdev "usb2" "USB 2" "${board}:white:usb2" "4-1"
+	ucidef_set_led_usbport "usb1" "USB 1" "${board}:white:usb1" "usb1-port1" "usb2-port1"
+	ucidef_set_led_usbport "usb2" "USB 2" "${board}:white:usb2" "usb3-port1" "usb4-port1"
 	ucidef_set_led_netdev "wan" "WAN" "${board}:white:wan" "eth0"
 	ucidef_set_led_ide "esata" "eSATA" "${board}:white:esata"
 	ucidef_set_led_wlan "wps" "WPS" "${board}:white:wps" "phy0tpt"
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-c2600.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-c2600.dts
index 9427e99..9162200 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-c2600.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-c2600.dts
@@ -46,8 +46,23 @@
 				mux {
 					pins = "gpio18", "gpio19", "gpio21";
 					function = "gsbi5";
+					bias-pull-down;
+				};
+
+				data {
+					pins = "gpio18", "gpio19";
+					drive-strength = <10>;
+				};
+
+				cs {
+					pins = "gpio20";
 					drive-strength = <10>;
-					bias-none;
+					bias-pull-up;
+				};
+
+				clk {
+					pins = "gpio21";
+					drive-strength = <12>;
 				};
 			};
 
@@ -114,7 +129,7 @@
 			qcom,mode = <GSBI_PROT_SPI>;
 			status = "ok";
 
-			spi4: spi at 1a280000 {
+			spi5: spi at 1a280000 {
 				status = "ok";
 				spi-max-frequency = <50000000>;
 
@@ -124,7 +139,7 @@
 				cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
 
 				flash: m25p80 at 0 {
-					compatible = "s25fl256s1";
+					compatible = "jedec,spi-nor";
 					#address-cells = <1>;
 					#size-cells = <1>;
 					spi-max-frequency = <50000000>;
@@ -380,7 +395,7 @@
 		wifi {
 			label = "wifi";
 			gpios = <&qcom_pinmux 49 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_WLAN>;
+			linux,code = <KEY_RFKILL>;
 		};
 
 		reset {
@@ -425,6 +440,11 @@
 			gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
 		};
 
+		wan_red {
+			label = "c2600:red:wan";
+			gpios = <&qcom_pinmux 26 GPIO_ACTIVE_LOW>;
+		};
+
 		wan_blue {
 			label = "c2600:white:wan";
 			gpios = <&qcom_pinmux 33 GPIO_ACTIVE_LOW>;
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts
index 560a487..8566995 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts
@@ -110,14 +110,60 @@
 				mux {
 					pins = "gpio18", "gpio19", "gpio21";
 					function = "gsbi5";
+					bias-pull-down;
+				};
+
+				data {
+					pins = "gpio18", "gpio19";
 					drive-strength = <10>;
-					bias-none;
 				};
 
 				cs {
 					pins = "gpio20";
+					drive-strength = <10>;
+					bias-pull-up;
+				};
+
+				clk {
+					pins = "gpio21";
+					drive-strength = <12>;
+				};
+			};
+
+			spi6_pins: spi6_pins {
+				mux {
+					pins = "gpio55", "gpio56", "gpio58";
+					function = "gsbi6";
+					bias-pull-down;
+				};
+
+				mosi {
+					pins = "gpio55";
+					drive-strength = <12>;
+				};
+
+				miso {
+					pins = "gpio56";
+					drive-strength = <14>;
+				};
+
+				cs {
+					pins = "gpio57";
+					drive-strength = <12>;
+					bias-pull-up;
+				};
+
+				clk {
+					pins = "gpio58";
 					drive-strength = <12>;
 				};
+
+				reset {
+					pins = "gpio33";
+					drive-strength = <10>;
+					bias-pull-down;
+					output-high;
+				};
 			};
 		};
 
@@ -139,7 +185,7 @@
 			qcom,mode = <GSBI_PROT_SPI>;
 			status = "ok";
 
-			spi4: spi at 1a280000 {
+			spi5: spi at 1a280000 {
 				status = "ok";
 				spi-max-frequency = <50000000>;
 				pinctrl-0 = <&spi_pins>;
@@ -148,10 +194,10 @@
 				cs-gpios = <&qcom_pinmux 20 0>;
 
 				flash: m25p80 at 0 {
-					compatible = "s25fl512s";
+					compatible = "jedec,spi-nor";
 					#address-cells = <1>;
 					#size-cells = <1>;
-					spi-max-frequency = <51200000>;
+					spi-max-frequency = <50000000>;
 					reg = <0>;
 
 					linux,part-probe = "qcom-smem";
@@ -159,6 +205,25 @@
 			};
 		};
 
+		gsbi6: gsbi at 16500000 {
+			qcom,mode = <GSBI_PROT_SPI>;
+			status = "ok";
+			spi6: spi at 16580000 {
+				status = "ok";
+				spi-max-frequency = <6000000>;
+				pinctrl-0 = <&spi6_pins>;
+				pinctrl-names = "default";
+
+				cs-gpios = <&qcom_pinmux 57 0>;
+
+				spi-nor at 0 {
+					compatible = "spi-nor";
+					reg = <0>;
+					spi-max-frequency = <6000000>;
+				};
+			};
+		};
+
 		sata-phy at 1b400000 {
 			status = "ok";
 		};
@@ -375,18 +440,24 @@
 			label = "wifi";
 			gpios = <&qcom_pinmux 6 1>;
 			linux,code = <KEY_RFKILL>;
+			debounce-interval = <60>;
+			wakeup-source;
 		};
 
 		reset {
 			label = "reset";
 			gpios = <&qcom_pinmux 54 1>;
 			linux,code = <KEY_RESTART>;
+			debounce-interval = <60>;
+			wakeup-source;
 		};
 
 		wps {
 			label = "wps";
 			gpios = <&qcom_pinmux 65 1>;
 			linux,code = <KEY_WPS_BUTTON>;
+			debounce-interval = <60>;
+			wakeup-source;
 		};
 	};
 
@@ -449,17 +520,23 @@
 		compatible = "gpio-export";
 		#size-cells = <0>;
 
-		display_data {
-			gpio-export,name = "usb0";
+		usb1-power {
+			gpio-export,name = "usb1";
 			gpio-export,output = <1>;
 			gpios = <&qcom_pinmux 15 0>;
 		};
 
-		display_clock {
-			gpio-export,name = "usb1";
+		usb2-power {
+			gpio-export,name = "usb2";
 			gpio-export,output = <1>;
 			gpios = <&qcom_pinmux 16 0>;
 		};
+
+		usb-power {
+			gpio-export,name = "usb_p";
+			gpio-export,output = <1>;
+			gpios = <&qcom_pinmux 68 0>;
+		};
 	};
 };
 
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi
index bff9979..435692b 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi
@@ -29,7 +29,7 @@
 			qcom,saw = <&saw0>;
 			clocks = <&kraitcc 0>, <&kraitcc 4>;
 			clock-names = "cpu", "l2";
-			qcom,imem = <&imem>;
+			qcom,imem = <&qfprom>;
 			clock-latency = <100000>;
 			cpu-supply = <&smb208_s2a>;
 			voltage-tolerance = <5>;
@@ -49,7 +49,7 @@
 			qcom,saw = <&saw1>;
 			clocks = <&kraitcc 1>, <&kraitcc 4>;
 			clock-names = "cpu", "l2";
-			qcom,imem = <&imem>;
+			qcom,imem = <&qfprom>;
 			clock-latency = <100000>;
 			cpu-supply = <&smb208_s2b>;
 			cooling-min-state = <0>;
@@ -200,7 +200,7 @@
 			reg-names = "lpass-lpaif";
 		};
 
-		imem: memory at 700000 {
+		qfprom: qfprom at 700000 {
 			compatible = "qcom,qfprom", "syscon";
 			reg = <0x00700000 0x1000>;
 			#address-cells = <1>;



More information about the lede-commits mailing list