aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorPavel Kubelun <be.dissent@gmail.com>2016-11-08 08:49:07 +0300
committerJohn Crispin <john@phrozen.org>2016-11-16 10:59:30 +0100
commit5aace5a5fbcf4a80c6765b605ffdd86d2cfadfb0 (patch)
tree00af1190c782b6abe6e749e533765ab8e58a4a5e /target/linux
parent3ac5eb914169a7169f5522799fbb0f90f1234c1c (diff)
downloadupstream-5aace5a5fbcf4a80c6765b605ffdd86d2cfadfb0.tar.gz
upstream-5aace5a5fbcf4a80c6765b605ffdd86d2cfadfb0.tar.bz2
upstream-5aace5a5fbcf4a80c6765b605ffdd86d2cfadfb0.zip
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@gmail.com>
Diffstat (limited to 'target/linux')
-rwxr-xr-xtarget/linux/ipq806x/base-files/etc/board.d/01_leds6
-rw-r--r--target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-c2600.dts28
-rw-r--r--target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts93
-rw-r--r--target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi6
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 fbe19cd77b..1f3d3133f5 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 9427e993f3..9162200fd9 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@1a280000 {
+ spi5: spi@1a280000 {
status = "ok";
spi-max-frequency = <50000000>;
@@ -124,7 +139,7 @@
cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
flash: m25p80@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 560a487567..8566995ef5 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@1a280000 {
+ spi5: spi@1a280000 {
status = "ok";
spi-max-frequency = <50000000>;
pinctrl-0 = <&spi_pins>;
@@ -148,10 +194,10 @@
cs-gpios = <&qcom_pinmux 20 0>;
flash: m25p80@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@16500000 {
+ qcom,mode = <GSBI_PROT_SPI>;
+ status = "ok";
+ spi6: spi@16580000 {
+ status = "ok";
+ spi-max-frequency = <6000000>;
+ pinctrl-0 = <&spi6_pins>;
+ pinctrl-names = "default";
+
+ cs-gpios = <&qcom_pinmux 57 0>;
+
+ spi-nor@0 {
+ compatible = "spi-nor";
+ reg = <0>;
+ spi-max-frequency = <6000000>;
+ };
+ };
+ };
+
sata-phy@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 bff9979adf..435692b183 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@700000 {
+ qfprom: qfprom@700000 {
compatible = "qcom,qfprom", "syscon";
reg = <0x00700000 0x1000>;
#address-cells = <1>;