Changeset 45663


Ignore:
Timestamp:
2015-05-10T13:47:09+02:00 (3 years ago)
Author:
nbd
Message:

ipq806x: add pcie support to ipq806x based platforms

This change adds PCIe support to IPQ806x based platforms. The driver is
actually cherry-picked from the following LKML thread:
*https://lwn.net/Articles/643086/ (patches 110-111)

We also add here an additional fix to support multiple PCI controllers
on the same platform (patch 112), and to patch the ap148 & dbs149 DTS
files (patch 113).

Signed-off-by: Mathieu Olivari <mathieu@…>

Location:
trunk/target/linux/ipq806x
Files:
8 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ipq806x/config-3.18

    r45662 r45663  
    259259CONFIG_PAGE_OFFSET=0xC0000000 
    260260CONFIG_PCI=y 
     261CONFIG_PCIEAER=y 
     262CONFIG_PCIEPORTBUS=y 
     263CONFIG_PCIE_DW=y 
     264CONFIG_PCIE_QCOM=y 
     265CONFIG_PCI_DOMAINS=y 
    261266CONFIG_PCI_MSI=y 
    262267CONFIG_PERF_EVENTS=y 
     
    296301CONFIG_QCOM_SCM=y 
    297302CONFIG_QCOM_WDT=y 
     303CONFIG_RAS=y 
    298304# CONFIG_RCU_BOOST is not set 
    299305CONFIG_RCU_CPU_STALL_TIMEOUT=21 
  • trunk/target/linux/ipq806x/config-4.0

    r45662 r45663  
    268268CONFIG_PAGE_OFFSET=0xC0000000 
    269269CONFIG_PCI=y 
    270 # CONFIG_PCI_DOMAINS_GENERIC is not set 
     270CONFIG_PCIEAER=y 
     271CONFIG_PCIEPORTBUS=y 
     272CONFIG_PCIE_DW=y 
     273CONFIG_PCIE_PME=y 
     274CONFIG_PCIE_QCOM=y 
     275CONFIG_PCI_DEBUG=y 
     276CONFIG_PCI_DOMAINS=y 
     277CONFIG_PCI_DOMAINS_GENERIC=y 
    271278CONFIG_PCI_MSI=y 
    272279CONFIG_PERF_EVENTS=y 
     
    308315CONFIG_QCOM_SCM=y 
    309316CONFIG_QCOM_WDT=y 
     317CONFIG_RAS=y 
    310318# CONFIG_RCU_BOOST is not set 
    311319CONFIG_RCU_CPU_STALL_TIMEOUT=21 
  • trunk/target/linux/ipq806x/patches-3.18/700-add-gmac-dts-suport.patch

    r45261 r45663  
    1717                                pins = "gpio12", "gpio13"; 
    1818                                function = "gsbi4"; 
    19 @@ -38,6 +45,25 @@ 
     19@@ -54,6 +61,25 @@ 
    2020                                        bias-none; 
    2121                                }; 
     
    4343  
    4444                gsbi@16300000 { 
    45 @@ -76,6 +102,7 @@ 
     45@@ -92,6 +118,7 @@ 
    4646                                        #size-cells = <1>; 
    4747                                        spi-max-frequency = <50000000>; 
     
    5151                                        partition@0 { 
    5252                                                label = "lowlevel_init"; 
    53 @@ -136,5 +163,66 @@ 
    54                 usb30@1 { 
    55                         status = "ok"; 
     53@@ -166,5 +193,66 @@ 
     54                        pinctrl-0 = <&pcie2_pins>; 
     55                        pinctrl-names = "default"; 
    5656                }; 
    5757+ 
     
    120120--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi 
    121121+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi 
    122 @@ -3,6 +3,7 @@ 
    123  #include "skeleton.dtsi" 
     122@@ -4,6 +4,7 @@ 
    124123 #include <dt-bindings/clock/qcom,gcc-ipq806x.h> 
    125124 #include <dt-bindings/soc/qcom,gsbi.h> 
     125 #include <dt-bindings/reset/qcom,gcc-ipq806x.h> 
    126126+#include <dt-bindings/interrupt-controller/arm-gic.h> 
    127127  
    128128 / { 
    129129        model = "Qualcomm IPQ8064"; 
    130 @@ -390,5 +391,41 @@ 
     130@@ -513,5 +514,42 @@ 
     131                                dr_mode = "host"; 
    131132                        }; 
    132133                }; 
    133   
     134+ 
    134135+               nss-gmac-common { 
    135136+                       reg = <0x03000000 0x0000FFFF 0x1bb00000 0x0000FFFF 0x00900000 0x00004000>; 
  • trunk/target/linux/ipq806x/patches-4.0/700-add-gmac-dts-suport.patch

    r45210 r45663  
    11--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts 
    22+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts 
    3 @@ -18,8 +18,15 @@ 
    4                 bootargs = "console=ttyMSM0,115200 root=/dev/mtdblock12 rootfstype=squashfs,jffs2"; 
     3@@ -22,8 +22,15 @@ 
     4                linux,stdout-path = "serial0:115200n8"; 
    55        }; 
    66  
     
    1717                                pins = "gpio12", "gpio13"; 
    1818                                function = "gsbi4"; 
    19 @@ -34,6 +41,25 @@ 
     19@@ -54,6 +61,25 @@ 
    2020                                        bias-none; 
    2121                                }; 
     
    4343  
    4444                gsbi@16300000 { 
    45 @@ -72,6 +98,7 @@ 
     45@@ -92,6 +118,7 @@ 
    4646                                        #size-cells = <1>; 
    4747                                        spi-max-frequency = <50000000>; 
     
    5050  
    5151                                        partition@0 { 
    52                                                 label = "0:SBL1"; 
    53 @@ -148,5 +175,66 @@ 
    54                 sata@29000000 { 
    55                         status = "ok"; 
     52                                                label = "lowlevel_init"; 
     53@@ -142,5 +169,66 @@ 
     54                        pinctrl-0 = <&pcie2_pins>; 
     55                        pinctrl-names = "default"; 
    5656                }; 
    5757+ 
     
    120120--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi 
    121121+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi 
    122 @@ -3,6 +3,7 @@ 
    123  #include "skeleton.dtsi" 
     122@@ -4,6 +4,7 @@ 
    124123 #include <dt-bindings/clock/qcom,gcc-ipq806x.h> 
    125124 #include <dt-bindings/soc/qcom,gsbi.h> 
     125 #include <dt-bindings/reset/qcom,gcc-ipq806x.h> 
    126126+#include <dt-bindings/interrupt-controller/arm-gic.h> 
    127127  
    128128 / { 
    129129        model = "Qualcomm IPQ8064"; 
    130 @@ -279,5 +280,42 @@ 
    131                         #clock-cells = <1>; 
    132                         #reset-cells = <1>; 
     130@@ -415,5 +416,42 @@ 
     131  
     132                        status = "disabled"; 
    133133                }; 
    134134+ 
Note: See TracChangeset for help on using the changeset viewer.