aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-07-14 13:14:50 +0200
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-08-05 23:08:03 +0200
commit7c1c0a00fc7948d119a3e3a0dc7a8e89a5c54acc (patch)
tree0f027a901c29b09973e20861fce3d4c897c94111
parentb7b7c2a6adf96ff8186509fc1bef550c82d5fc26 (diff)
downloadupstream-7c1c0a00fc7948d119a3e3a0dc7a8e89a5c54acc.tar.gz
upstream-7c1c0a00fc7948d119a3e3a0dc7a8e89a5c54acc.tar.bz2
upstream-7c1c0a00fc7948d119a3e3a0dc7a8e89a5c54acc.zip
ipq806x: use qcom-ipq8064-v1.0.dtsi from upstream
This uses upstream qcom-ipq8064-v1.0.dtsi and modifies it by patches instead of keeping a local version. As a consequence: - we use a part of the shared definitions there and update device DTS files accordingly - we move additional stuff from our local v1.0.dtsi to the patch - we drop partitions, LEDs and keys from the file as we will implement them differently anyway Like with the previous patch, this follows the idea that a diff from upstream might be easier to handle than a big file of our own with different distribution pattern of properties. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
-rw-r--r--target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-ap148.dts58
-rw-r--r--target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-ap161.dts57
-rw-r--r--target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-db149.dts82
-rw-r--r--target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-r7500.dts31
-rw-r--r--target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi31
-rw-r--r--target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts34
-rw-r--r--target/linux/ipq806x/patches-5.4/084-ipq8064-v1.0-dtsi-cleanup.patch89
-rw-r--r--target/linux/ipq806x/patches-5.4/085-ipq8064-v1.0-dtsi-additions.patch26
8 files changed, 186 insertions, 222 deletions
diff --git a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
index 6c3410bf35..a23f3da469 100644
--- a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -28,46 +28,16 @@
status = "okay";
};
-&gsbi4 {
- qcom,mode = <GSBI_PROT_I2C_UART>;
- status = "okay";
-
- serial@16340000 {
- status = "okay";
- };
-
- /*
- * The i2c device on gsbi4 should not be enabled.
- * On ipq806x designs gsbi4 i2c is meant for exclusive
- * RPM usage. Turning this on in kernel manifests as
- * i2c failure for the RPM.
- */
-};
-
-&gsbi5 {
- qcom,mode = <GSBI_PROT_SPI>;
- status = "okay";
-
- spi4: spi@1a280000 {
- status = "okay";
- spi-max-frequency = <50000000>;
-
- pinctrl-0 = <&spi_pins>;
- pinctrl-names = "default";
-
- cs-gpios = <&qcom_pinmux 20 0>;
-
- m25p80@0 {
- compatible = "s25fl256s1";
- #address-cells = <1>;
- #size-cells = <1>;
- spi-max-frequency = <50000000>;
- reg = <0>;
-
- partitions {
- compatible = "qcom,smem";
- };
- };
+/*
+* The i2c device on gsbi4 should not be enabled.
+* On ipq806x designs gsbi4 i2c is meant for exclusive
+* RPM usage. Turning this on in kernel manifests as
+* i2c failure for the RPM.
+*/
+
+&flash {
+ partitions {
+ compatible = "qcom,smem";
};
};
@@ -156,11 +126,3 @@
full-duplex;
};
};
-
-&sata_phy {
- status = "okay";
-};
-
-&sata {
- status = "okay";
-};
diff --git a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-ap161.dts b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-ap161.dts
index 41a2bf116e..59c06dbccc 100644
--- a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-ap161.dts
+++ b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-ap161.dts
@@ -36,56 +36,19 @@
};
};
-&gsbi4 {
- qcom,mode = <GSBI_PROT_I2C_UART>;
- status = "okay";
- serial@16340000 {
- status = "okay";
- };
-
- /*
- * The i2c device on gsbi4 should not be enabled.
- * On ipq806x designs gsbi4 i2c is meant for exclusive
- * RPM usage. Turning this on in kernel manifests as
- * i2c failure for the RPM.
- */
-};
-
-&gsbi5 {
- qcom,mode = <GSBI_PROT_SPI>;
- status = "okay";
-
- spi4: spi@1a280000 {
- status = "okay";
- spi-max-frequency = <50000000>;
-
- pinctrl-0 = <&spi_pins>;
- pinctrl-names = "default";
-
- cs-gpios = <&qcom_pinmux 20 0>;
-
- m25p80@0 {
- compatible = "s25fl256s1";
- #address-cells = <1>;
- #size-cells = <1>;
- spi-max-frequency = <50000000>;
- reg = <0>;
-
- partitions {
- compatible = "qcom,smem";
- };
- };
+/*
+* The i2c device on gsbi4 should not be enabled.
+* On ipq806x designs gsbi4 i2c is meant for exclusive
+* RPM usage. Turning this on in kernel manifests as
+* i2c failure for the RPM.
+*/
+
+&flash {
+ partitions {
+ compatible = "qcom,smem";
};
};
-&sata_phy {
- status = "okay";
-};
-
-&sata {
- status = "okay";
-};
-
&usb3_0 {
status = "okay";
};
diff --git a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-db149.dts b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-db149.dts
index 1f68f826cb..8e8d942fbd 100644
--- a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-db149.dts
+++ b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-db149.dts
@@ -38,61 +38,41 @@
};
};
-&gsbi5 {
- qcom,mode = <GSBI_PROT_SPI>;
- status = "okay";
-
- spi4: spi@1a280000 {
- status = "okay";
- spi-max-frequency = <50000000>;
-
- pinctrl-0 = <&spi_pins>;
- pinctrl-names = "default";
-
- cs-gpios = <&qcom_pinmux 20 0>;
-
- m25p80@0 {
- compatible = "s25fl256s1";
- #address-cells = <1>;
- #size-cells = <1>;
- spi-max-frequency = <50000000>;
- reg = <0>;
- m25p,fast-read;
-
- partition@0 {
- label = "lowlevel_init";
- reg = <0x0 0x1b0000>;
- };
-
- partition@1 {
- label = "u-boot";
- reg = <0x1b0000 0x80000>;
- };
-
- partition@2 {
- label = "u-boot-env";
- reg = <0x230000 0x40000>;
- };
-
- partition@3 {
- label = "caldata";
- reg = <0x270000 0x40000>;
- };
-
- partition@4 {
- label = "firmware";
- reg = <0x2b0000 0x1d50000>;
- };
- };
- };
+&gsbi4 {
+ status = "disabled";
};
-&sata_phy {
- status = "okay";
+&gsbi4_serial {
+ status = "disabled";
};
-&sata {
- status = "okay";
+&flash {
+ m25p,fast-read;
+
+ partition@0 {
+ label = "lowlevel_init";
+ reg = <0x0 0x1b0000>;
+ };
+
+ partition@1 {
+ label = "u-boot";
+ reg = <0x1b0000 0x80000>;
+ };
+
+ partition@2 {
+ label = "u-boot-env";
+ reg = <0x230000 0x40000>;
+ };
+
+ partition@3 {
+ label = "caldata";
+ reg = <0x270000 0x40000>;
+ };
+
+ partition@4 {
+ label = "firmware";
+ reg = <0x2b0000 0x1d50000>;
+ };
};
&usb3_0 {
diff --git a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-r7500.dts b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-r7500.dts
index 49b34a32c6..c1fb3b5534 100644
--- a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-r7500.dts
+++ b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-r7500.dts
@@ -133,26 +133,19 @@
};
};
-&gsbi4 {
- qcom,mode = <GSBI_PROT_I2C_UART>;
- status = "okay";
- serial@16340000 {
- status = "okay";
+/*
+* The i2c device on gsbi4 should not be enabled.
+* On ipq806x designs gsbi4 i2c is meant for exclusive
+* RPM usage. Turning this on in kernel manifests as
+* i2c failure for the RPM.
+*/
+
+&gsbi5 {
+ status = "disabled";
+
+ spi@1a280000 {
+ status = "disabled";
};
- /*
- * The i2c device on gsbi4 should not be enabled.
- * On ipq806x designs gsbi4 i2c is meant for exclusive
- * RPM usage. Turning this on in kernel manifests as
- * i2c failure for the RPM.
- */
-};
-
-&sata_phy {
- status = "okay";
-};
-
-&sata {
- status = "okay";
};
&usb3_0 {
diff --git a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi
deleted file mode 100644
index 8d93f5c3ed..0000000000
--- a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "qcom-ipq8064.dtsi"
-
-/ {
- aliases {
- serial0 = &gsbi4_serial;
- };
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-};
-
-&CPU_SPC {
- status = "okay";
-};
-
-&pcie0 {
- phy-tx0-term-offset = <7>;
-};
-
-&pcie1 {
- phy-tx0-term-offset = <7>;
-};
-
-&pcie2 {
- phy-tx0-term-offset = <7>;
-};
-
-&sata {
- ports-implemented = <0x1>;
-};
diff --git a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts
index 6dc1f92751..c4d2187ef6 100644
--- a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts
+++ b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts
@@ -336,39 +336,21 @@
};
};
-&gsbi4 {
- status = "okay";
- qcom,mode = <GSBI_PROT_I2C_UART>;
-};
-
&gsbi4_serial {
- status = "okay";
-
pinctrl-0 = <&uart0_pins>;
pinctrl-names = "default";
};
-&gsbi5 {
- status = "okay";
-
- qcom,mode = <GSBI_PROT_SPI>;
-
- spi@1a280000 {
- status = "okay";
-
- pinctrl-0 = <&spi_pins>;
- pinctrl-names = "default";
+&flash {
+ compatible = "jedec,spi-nor";
+};
- cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+&sata_phy {
+ status = "disabled";
+};
- s25fl256s1@0 {
- compatible = "jedec,spi-nor";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = <0>;
- spi-max-frequency = <50000000>;
- };
- };
+&sata {
+ status = "disabled";
};
&ss_phy_0 { /* USB3 port 0 SS phy */
diff --git a/target/linux/ipq806x/patches-5.4/084-ipq8064-v1.0-dtsi-cleanup.patch b/target/linux/ipq806x/patches-5.4/084-ipq8064-v1.0-dtsi-cleanup.patch
new file mode 100644
index 0000000000..e5ea8e6393
--- /dev/null
+++ b/target/linux/ipq806x/patches-5.4/084-ipq8064-v1.0-dtsi-cleanup.patch
@@ -0,0 +1,89 @@
+This uses upstream qcom-ipq8064-v1.0.dtsi and modifies it by patches
+instead of keeping a local version.
+We drop partitions, LEDs and keys from the file as we will implement
+them differently anyway.
+
+--- a/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi
++++ b/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi
+@@ -42,16 +42,6 @@
+ #size-cells = <1>;
+ spi-max-frequency = <50000000>;
+ reg = <0>;
+-
+- partition@0 {
+- label = "rootfs";
+- reg = <0x0 0x1000000>;
+- };
+-
+- partition@1 {
+- label = "scratch";
+- reg = <0x1000000 0x1000000>;
+- };
+ };
+ };
+ };
+@@ -64,64 +54,5 @@
+ ports-implemented = <0x1>;
+ status = "ok";
+ };
+-
+- gpio_keys {
+- compatible = "gpio-keys";
+- pinctrl-0 = <&buttons_pins>;
+- pinctrl-names = "default";
+-
+- button@1 {
+- label = "reset";
+- linux,code = <KEY_RESTART>;
+- gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
+- linux,input-type = <1>;
+- debounce-interval = <60>;
+- };
+- button@2 {
+- label = "wps";
+- linux,code = <KEY_WPS_BUTTON>;
+- gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
+- linux,input-type = <1>;
+- debounce-interval = <60>;
+- };
+- };
+-
+- leds {
+- compatible = "gpio-leds";
+- pinctrl-0 = <&leds_pins>;
+- pinctrl-names = "default";
+-
+- led@7 {
+- label = "led_usb1";
+- gpios = <&qcom_pinmux 7 GPIO_ACTIVE_HIGH>;
+- linux,default-trigger = "usbdev";
+- default-state = "off";
+- };
+-
+- led@8 {
+- label = "led_usb3";
+- gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
+- linux,default-trigger = "usbdev";
+- default-state = "off";
+- };
+-
+- led@9 {
+- label = "status_led_fail";
+- gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
+- default-state = "off";
+- };
+-
+- led@26 {
+- label = "sata_led";
+- gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
+- default-state = "off";
+- };
+-
+- led@53 {
+- label = "status_led_pass";
+- gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
+- default-state = "off";
+- };
+- };
+ };
+ };
diff --git a/target/linux/ipq806x/patches-5.4/085-ipq8064-v1.0-dtsi-additions.patch b/target/linux/ipq806x/patches-5.4/085-ipq8064-v1.0-dtsi-additions.patch
new file mode 100644
index 0000000000..9837fb156d
--- /dev/null
+++ b/target/linux/ipq806x/patches-5.4/085-ipq8064-v1.0-dtsi-additions.patch
@@ -0,0 +1,26 @@
+This uses upstream qcom-ipq8064-v1.0.dtsi and modifies it by patches
+instead of keeping a local version. This patch adds our local adjustments
+for the (local) additional contents of qcom-ipq8064.dtsi
+
+--- a/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi
++++ b/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi
+@@ -56,3 +56,19 @@
+ };
+ };
+ };
++
++&CPU_SPC {
++ status = "okay";
++};
++
++&pcie0 {
++ phy-tx0-term-offset = <7>;
++};
++
++&pcie1 {
++ phy-tx0-term-offset = <7>;
++};
++
++&pcie2 {
++ phy-tx0-term-offset = <7>;
++};