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";
};
};
full-duplex;
};
};
-
-&sata_phy {
- status = "okay";
-};
-
-&sata {
- 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";
};
};
-&sata_phy {
- status = "okay";
-};
-
-&sata {
- status = "okay";
-};
-
&usb3_0 {
status = "okay";
};
};
};
-&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 {
};
};
-&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 {
+++ /dev/null
-#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>;
-};
};
};
-&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 */
--- /dev/null
+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";
+- };
+- };
+ };
+ };
--- /dev/null
+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>;
++};