ipq806x: fix freeze in PCIe code when booting with an old u-boot
authorFelix Fietkau <nbd@openwrt.org>
Tue, 4 Aug 2015 23:10:03 +0000 (23:10 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 4 Aug 2015 23:10:03 +0000 (23:10 +0000)
commit0f7de49fa37859b46de8d4e25163cfebe3db3a96
tree3ab73a7d7dfe50d4cff826d16619d16cd2f58062
parentf7651fdba51fae235bb9e43fcecc0478faf927d0
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>
SVN-Revision: 46557
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