ipq806x: fix device tree nodes for PCI to get rid of I/O and memory offsets
[openwrt.git] / target / linux / ipq806x / patches-3.18 / 112-ARM-dts-qcom-add-pcie-nodes-to-ipq806x-platforms.patch
index 80ac25f..4c53d50 100644 (file)
@@ -15,22 +15,24 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
 
 --- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
 +++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
-@@ -30,6 +30,22 @@
+@@ -35,6 +35,24 @@
                                bias-disable;
                        };
  
-+                      pcie1_pins: pcie1_pinmux {
++                      pcie0_pins: pcie0_pinmux {
 +                              mux {
 +                                      pins = "gpio3";
-+                                      drive-strength = <2>;
++                                      function = "pcie1_rst";
++                                      drive-strength = <12>;
 +                                      bias-disable;
 +                              };
 +                      };
 +
-+                      pcie2_pins: pcie2_pinmux {
++                      pcie1_pins: pcie1_pinmux {
 +                              mux {
 +                                      pins = "gpio48";
-+                                      drive-strength = <2>;
++                                      function = "pcie2_rst";
++                                      drive-strength = <12>;
 +                                      bias-disable;
 +                              };
 +                      };
@@ -38,7 +40,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
                        spi_pins: spi_pins {
                                mux {
                                        pins = "gpio18", "gpio19", "gpio21";
-@@ -133,5 +149,19 @@
+@@ -115,5 +133,19 @@
                usb30@1 {
                        status = "ok";
                };
@@ -46,44 +48,47 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
 +              pcie0: pci@1b500000 {
 +                      status = "ok";
 +                      reset-gpio = <&qcom_pinmux 3 0>;
-+                      pinctrl-0 = <&pcie1_pins>;
++                      pinctrl-0 = <&pcie0_pins>;
 +                      pinctrl-names = "default";
 +              };
 +
 +              pcie1: pci@1b700000 {
 +                      status = "ok";
 +                      reset-gpio = <&qcom_pinmux 48 0>;
-+                      pinctrl-0 = <&pcie2_pins>;
++                      pinctrl-0 = <&pcie1_pins>;
 +                      pinctrl-names = "default";
 +              };
        };
  };
 --- a/arch/arm/boot/dts/qcom-ipq8064-db149.dts
 +++ b/arch/arm/boot/dts/qcom-ipq8064-db149.dts
-@@ -30,6 +30,30 @@
+@@ -30,6 +30,33 @@
                                bias-disable;
                        };
  
-+                      pcie1_pins: pcie1_pinmux {
++                      pcie0_pins: pcie0_pinmux {
 +                              mux {
 +                                      pins = "gpio3";
-+                                      drive-strength = <2>;
++                                      function = "pcie1_rst";
++                                      drive-strength = <12>;
 +                                      bias-disable;
 +                              };
 +                      };
 +
-+                      pcie2_pins: pcie2_pinmux {
++                      pcie1_pins: pcie1_pinmux {
 +                              mux {
 +                                      pins = "gpio48";
-+                                      drive-strength = <2>;
++                                      function = "pcie2_rst";
++                                      drive-strength = <12>;
 +                                      bias-disable;
 +                              };
 +                      };
 +
-+                      pcie3_pins: pcie3_pinmux {
++                      pcie2_pins: pcie2_pinmux {
 +                              mux {
 +                                      pins = "gpio63";
-+                                      drive-strength = <2>;
++                                      function = "pcie3_rst";
++                                      drive-strength = <12>;
 +                                      bias-disable;
 +                              };
 +                      };
@@ -91,7 +96,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
                        spi_pins: spi_pins {
                                mux {
                                        pins = "gpio18", "gpio19", "gpio21";
-@@ -128,5 +152,26 @@
+@@ -128,5 +155,26 @@
                usb30@1 {
                        status = "ok";
                };
@@ -99,21 +104,21 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
 +              pcie0: pci@1b500000 {
 +                      status = "ok";
 +                      reset-gpio = <&qcom_pinmux 3 0>;
-+                      pinctrl-0 = <&pcie1_pins>;
++                      pinctrl-0 = <&pcie0_pins>;
 +                      pinctrl-names = "default";
 +              };
 +
 +              pcie1: pci@1b700000 {
 +                      status = "ok";
 +                      reset-gpio = <&qcom_pinmux 48 0>;
-+                      pinctrl-0 = <&pcie2_pins>;
++                      pinctrl-0 = <&pcie1_pins>;
 +                      pinctrl-names = "default";
 +              };
 +
 +              pcie2: pci@1b900000 {
 +                      status = "ok";
 +                      reset-gpio = <&qcom_pinmux 63 0>;
-+                      pinctrl-0 = <&pcie3_pins>;
++                      pinctrl-0 = <&pcie2_pins>;
 +                      pinctrl-names = "default";
 +              };
        };
@@ -129,8 +134,8 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
  
  / {
        model = "Qualcomm IPQ8064";
-@@ -306,6 +308,129 @@
-                       #reset-cells = <1>;
+@@ -311,6 +313,129 @@
+                       reg = <0x01200600 0x100>;
                };
  
 +              pcie0: pci@1b500000 {
@@ -147,8 +152,8 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
 +                      #address-cells = <3>;
 +                      #size-cells = <2>;
 +
-+                      ranges = <0x81000000 0 0          0x0fe00000 0 0x00100000   /* downstream I/O */
-+                                0x82000000 0 0x00000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
++                      ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000   /* downstream I/O */
++                                0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
 +
 +                      interrupts = <GIC_SPI 35 IRQ_TYPE_NONE>;
 +                      interrupt-names = "msi";
@@ -188,8 +193,8 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
 +                      #address-cells = <3>;
 +                      #size-cells = <2>;
 +
-+                      ranges = <0x81000000 0 0          0x31e00000 0 0x00100000   /* downstream I/O */
-+                                0x82000000 0 0x00000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
++                      ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000   /* downstream I/O */
++                                0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
 +
 +                      interrupts = <GIC_SPI 57 IRQ_TYPE_NONE>;
 +                      interrupt-names = "msi";
@@ -229,8 +234,8 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
 +                      #address-cells = <3>;
 +                      #size-cells = <2>;
 +
-+                      ranges = <0x81000000 0 0          0x35e00000 0 0x00100000   /* downstream I/O */
-+                                0x82000000 0 0x00000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
++                      ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000   /* downstream I/O */
++                                0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
 +
 +                      interrupts = <GIC_SPI 71 IRQ_TYPE_NONE>;
 +                      interrupt-names = "msi";
@@ -259,10 +264,3 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
                hs_phy_1: phy@100f8800 {
                        compatible = "qcom,dwc3-hs-usb-phy";
                        reg = <0x100f8800 0x30>;
-@@ -389,6 +514,5 @@
-                               dr_mode = "host";
-                       };
-               };
--
-       };
- };