ipq806x: fix freeze in PCIe code when booting with an old u-boot
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 4 Aug 2015 23:10:03 +0000 (23:10 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 4 Aug 2015 23:10:03 +0000 (23:10 +0000)
commit1320d975f9df9acc2a02f7750bce741a76f67dfb
tree465b6598f346b045b50e5ce26fc002d70e8bde0e
parent8bf35bef0833f8bdc3a6fe9c9f5bbc52f313cb48
ipq806x: fix freeze in PCIe code when booting with an old u-boot

Old bootloader (same ones which have DT disabled) don't perform any PCIe
initialization. The consequence is a freeze during PCIe bring-up on
these old u-boot. Same kernel with a newer bootloaders works fine as
they contain the corresponding PCIe init code.

In this change, we'll add the missing init and make sure the kernel
doesn't rely on some preexisting init to get PCIe to work. That includes
the following changes:
*GPIOs: set function & drive strength
*Clocks: add init code for aux & ref clocks
*PCIe driver: additional init of the hardware controller

Tested 3.18 and 4.1 on an AP148 with bootloader branch 0.0.1

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46557 3c298f89-4303-0410-b956-a3cf2f4a3e73
target/linux/ipq806x/patches-3.18/112-ARM-dts-qcom-add-pcie-nodes-to-ipq806x-platforms.patch
target/linux/ipq806x/patches-3.18/114-pcie-add-ctlr-init.patch [new file with mode: 0644]
target/linux/ipq806x/patches-3.18/115-add-pcie-aux-clk-dts.patch [new file with mode: 0644]
target/linux/ipq806x/patches-3.18/707-ARM-dts-qcom-add-mdio-nodes-to-ap148-db149.patch
target/linux/ipq806x/patches-4.1/112-ARM-dts-qcom-add-pcie-nodes-to-ipq806x-platforms.patch
target/linux/ipq806x/patches-4.1/114-pcie-add-ctlr-init.patch [new file with mode: 0644]
target/linux/ipq806x/patches-4.1/115-add-pcie-aux-clk-dts.patch [new file with mode: 0644]
target/linux/ipq806x/patches-4.1/707-ARM-dts-qcom-add-mdio-nodes-to-ap148-db149.patch
target/linux/ipq806x/patches-4.1/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch