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>
This commit is contained in:
		@@ -28,48 +28,18 @@
 | 
			
		||||
	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>;
 | 
			
		||||
 | 
			
		||||
&flash {
 | 
			
		||||
	partitions {
 | 
			
		||||
		compatible = "qcom,smem";
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&usb3_0 {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
@@ -156,11 +126,3 @@
 | 
			
		||||
		full-duplex;
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&sata_phy {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&sata {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -36,55 +36,18 @@
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&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>;
 | 
			
		||||
 | 
			
		||||
&flash {
 | 
			
		||||
	partitions {
 | 
			
		||||
		compatible = "qcom,smem";
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&sata_phy {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&sata {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&usb3_0 {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
 
 | 
			
		||||
@@ -38,25 +38,15 @@
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&gsbi5 {
 | 
			
		||||
	qcom,mode = <GSBI_PROT_SPI>;
 | 
			
		||||
	status = "okay";
 | 
			
		||||
&gsbi4 {
 | 
			
		||||
	status = "disabled";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
	spi4: spi@1a280000 {
 | 
			
		||||
		status = "okay";
 | 
			
		||||
		spi-max-frequency = <50000000>;
 | 
			
		||||
&gsbi4_serial {
 | 
			
		||||
	status = "disabled";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
		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>;
 | 
			
		||||
&flash {
 | 
			
		||||
	m25p,fast-read;
 | 
			
		||||
 | 
			
		||||
	partition@0 {
 | 
			
		||||
@@ -84,16 +74,6 @@
 | 
			
		||||
		reg = <0x2b0000 0x1d50000>;
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&sata_phy {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&sata {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&usb3_0 {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
 
 | 
			
		||||
@@ -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.
 | 
			
		||||
*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&sata_phy {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
};
 | 
			
		||||
&gsbi5 {
 | 
			
		||||
	status = "disabled";
 | 
			
		||||
 | 
			
		||||
&sata {
 | 
			
		||||
	status = "okay";
 | 
			
		||||
	spi@1a280000 {
 | 
			
		||||
		status = "disabled";
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&usb3_0 {
 | 
			
		||||
 
 | 
			
		||||
@@ -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>;
 | 
			
		||||
};
 | 
			
		||||
@@ -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";
 | 
			
		||||
 | 
			
		||||
		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
 | 
			
		||||
 | 
			
		||||
		s25fl256s1@0 {
 | 
			
		||||
&flash {
 | 
			
		||||
	compatible = "jedec,spi-nor";
 | 
			
		||||
			#address-cells = <1>;
 | 
			
		||||
			#size-cells = <1>;
 | 
			
		||||
			reg = <0>;
 | 
			
		||||
			spi-max-frequency = <50000000>;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&sata_phy {
 | 
			
		||||
	status = "disabled";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&sata {
 | 
			
		||||
	status = "disabled";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&ss_phy_0 {		/* USB3 port 0 SS phy */
 | 
			
		||||
 
 | 
			
		||||
@@ -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";
 | 
			
		||||
-			};
 | 
			
		||||
-		};
 | 
			
		||||
 	};
 | 
			
		||||
 };
 | 
			
		||||
@@ -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>;
 | 
			
		||||
+};
 | 
			
		||||
		Reference in New Issue
	
	Block a user