core/linux-aarch64 to 4.13.0-2

This commit is contained in:
Kevin Mihelich 2017-09-08 00:17:55 +00:00
parent 52c64a0023
commit 96baa9c218
7 changed files with 145 additions and 158 deletions

View file

@ -1,7 +1,7 @@
From 30d7acb45632070aa9929baa68aff42a5fcb1643 Mon Sep 17 00:00:00 2001
From abfd383d5c0db4e6f5ab022c047577bef0c8e20b Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 18 Feb 2014 01:43:50 -0300
Subject: [PATCH 1/4] net/smsc95xx: Allow mac address to be set as a parameter
Subject: [PATCH 1/5] net/smsc95xx: Allow mac address to be set as a parameter
---
drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++

View file

@ -1,7 +1,7 @@
From 08b91100c5dc3f294ace4d92d5c29ce8b2ff2e6d Mon Sep 17 00:00:00 2001
From 08528e4e847e16505bcb03e5d16bcd5081355dc2 Mon Sep 17 00:00:00 2001
From: Shawn Lin <shawn.lin@rock-chips.com>
Date: Fri, 21 Jul 2017 16:30:59 +0800
Subject: [PATCH 2/4] arm64: dts: rockchip: enable sdmmc controller on
Subject: [PATCH 2/5] arm64: dts: rockchip: enable sdmmc controller on
rk3399-firefly
This allows basic support for SD highspeed cards but no UHS-I mode

View file

@ -1,7 +1,7 @@
From 05a27b58acc1caa8c4f80bc9dd46c100abd35244 Mon Sep 17 00:00:00 2001
From 6ee0fca3c2a96ec7f328ea6ca9000008dc5a3ee6 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Mon, 7 Aug 2017 19:34:57 -0600
Subject: [PATCH 3/4] arm64: dts: rockchip: disable pwm0 on rk3399-firefly
Subject: [PATCH 3/5] arm64: dts: rockchip: disable pwm0 on rk3399-firefly
Workaround for intermittent boot hangs due to pwm0 probe disabling the PWM clock.
---

View file

@ -1,145 +0,0 @@
From 0c9149a1813b56d043fa3db8f8591f0b2677ee50 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Thu, 17 Aug 2017 21:18:11 -0600
Subject: [PATCH 4/4] Revert "arm64: dts: qcom: Collapse usb support into one
node"
This reverts commit ed75d6a969056cc8f5dd2df3af6c75b792b9116b.
---
arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi | 34 ++++++++---------
arch/arm64/boot/dts/qcom/msm8916.dtsi | 62 ++++++++++++++++---------------
2 files changed, 49 insertions(+), 47 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
index bd310ac1967a..f326f4fb4d72 100644
--- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
@@ -215,16 +215,22 @@
usb@78d9000 {
extcon = <&usb_id>, <&usb_id>;
status = "okay";
- adp-disable;
- hnp-disable;
- srp-disable;
- ulpi {
- phy {
- v1p8-supply = <&pm8916_l7>;
- v3p3-supply = <&pm8916_l13>;
- extcon = <&usb_id>;
- };
- };
+ };
+
+ ehci@78d9000 {
+ status = "okay";
+ };
+
+ phy@78d9000 {
+ v1p8-supply = <&pm8916_l7>;
+ v3p3-supply = <&pm8916_l13>;
+ vddcx-supply = <&pm8916_s1>;
+ extcon = <&usb_id>, <&usb_id>;
+ dr_mode = "otg";
+ status = "okay";
+ switch-gpio = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb_sw_sel_pm>;
};
lpass@07708000 {
@@ -342,14 +348,6 @@
pinctrl-0 = <&usb_id_default>;
};
- usb-switch {
- compatible = "toshiba,tc7usb40mu";
- switch-gpios = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>;
- extcon = <&usb_id>;
- pinctrl-names = "default";
- pinctrl-0 = <&usb_sw_sel_pm>;
- };
-
hdmi-out {
compatible = "hdmi-connector";
type = "a";
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 039991f80831..17691abea608 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -546,40 +546,44 @@
status = "disabled";
};
- otg: usb@78d9000 {
+ usb_dev: usb@78d9000 {
compatible = "qcom,ci-hdrc";
- reg = <0x78d9000 0x200>,
- <0x78d9200 0x200>;
+ reg = <0x78d9000 0x400>;
+ dr_mode = "peripheral";
+ interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb_otg>;
+ status = "disabled";
+ };
+
+ usb_host: ehci@78d9000 {
+ compatible = "qcom,ehci-host";
+ reg = <0x78d9000 0x400>;
+ interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb_otg>;
+ status = "disabled";
+ };
+
+ usb_otg: phy@78d9000 {
+ compatible = "qcom,usb-otg-snps";
+ reg = <0x78d9000 0x400>;
interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
+
+ qcom,vdd-levels = <500000 1000000 1320000>;
+ qcom,phy-init-sequence = <0x44 0x6B 0x24 0x13>;
+ dr_mode = "peripheral";
+ qcom,otg-control = <2>; // PMIC
+ qcom,manual-pullup;
+
clocks = <&gcc GCC_USB_HS_AHB_CLK>,
- <&gcc GCC_USB_HS_SYSTEM_CLK>;
- clock-names = "iface", "core";
- assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
- assigned-clock-rates = <80000000>;
- resets = <&gcc GCC_USB_HS_BCR>;
- reset-names = "core";
- phy_type = "ulpi";
- dr_mode = "otg";
- ahb-burst-config = <0>;
- phy-names = "usb-phy";
- phys = <&usb_hs_phy>;
- status = "disabled";
- #reset-cells = <1>;
+ <&gcc GCC_USB_HS_SYSTEM_CLK>,
+ <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
+ clock-names = "iface", "core", "sleep";
- ulpi {
- usb_hs_phy: phy {
- compatible = "qcom,usb-hs-phy-msm8916",
- "qcom,usb-hs-phy";
- #phy-cells = <0>;
- clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
- clock-names = "ref", "sleep";
- resets = <&gcc GCC_USB2A_PHY_BCR>, <&otg 0>;
- reset-names = "phy", "por";
- qcom,init-seq = /bits/ 8 <0x0 0x44
- 0x1 0x6b 0x2 0x24 0x3 0x13>;
- };
- };
+ resets = <&gcc GCC_USB2A_PHY_BCR>,
+ <&gcc GCC_USB_HS_BCR>;
+ reset-names = "phy", "link";
+ status = "disabled";
};
intc: interrupt-controller@b000000 {
--
2.14.1

View file

@ -0,0 +1,89 @@
From b0fcd75614be1f97c85cc09dcbbfe7f76bf79904 Mon Sep 17 00:00:00 2001
From: Stephen Boyd <sboyd@codeaurora.org>
Date: Thu, 13 Jul 2017 19:20:42 -0700
Subject: [PATCH 4/5] arm64: dts: qcom: Force host mode for USB on apq8016-sbc
Commit ed75d6a96905 ("arm64: dts: qcom: Collapse usb support into
one node") breaks host mode support on apq8016-sbc boards. This
is because the mux driver (tc7usb40mu) hasn't been merged.
Without that driver, we can't toggle the GPIO going to the mux to
route out the D+/D- lines to the USB hub that's on the board.
One solution would be to totally revert this change, but that
opens us up to other problems when two USB drivers are operating
the same hardware block at the same time. Let's modify the DT so
that the USB controller is always in host mode and connected to
the hub so that things like USB keyboards and mouses work. This
is the mode that most people prefer anyway with these devices. We
also delete the usb-switch node because the binding was never
accepted upstream.
In the future, we can add muxing support and then update the DT
to support both modes at runtime. Patches to support this are
already on the mailing list.
Fixes: ed75d6a96905 ("arm64: dts: qcom: Collapse usb support into one node")
Reported-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
---
arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi | 1 +
arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi | 15 +++++----------
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
index d94640812194..790b7775b901 100644
--- a/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
@@ -17,6 +17,7 @@
function = PMIC_GPIO_FUNC_NORMAL;
power-source = <PM8916_GPIO_VPH>;
input-disable;
+ output-high;
};
};
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
index bd310ac1967a..efd53ed82a58 100644
--- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
@@ -213,11 +213,14 @@
};
usb@78d9000 {
- extcon = <&usb_id>, <&usb_id>;
+ extcon = <&usb_id>;
status = "okay";
adp-disable;
hnp-disable;
srp-disable;
+ dr_mode = "host";
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb_sw_sel_pm>;
ulpi {
phy {
v1p8-supply = <&pm8916_l7>;
@@ -337,19 +340,11 @@
usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
- id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
+ vbus-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_id_default>;
};
- usb-switch {
- compatible = "toshiba,tc7usb40mu";
- switch-gpios = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>;
- extcon = <&usb_id>;
- pinctrl-names = "default";
- pinctrl-0 = <&usb_sw_sel_pm>;
- };
-
hdmi-out {
compatible = "hdmi-connector";
type = "a";
--
2.14.1

View file

@ -0,0 +1,40 @@
From 76dc46e2b70d6d280529feb7f34df5225bb37926 Mon Sep 17 00:00:00 2001
From: Frank Rowand <frank.rowand@sony.com>
Date: Tue, 18 Jul 2017 16:31:28 -0700
Subject: [PATCH 5/5] usb: chipidea: msm: ci_hdrc_msm_probe() missing
of_node_get()
Boot fails for qcom-apq8074-dragonboard on 4.13-rc1 with error:
OF: ERROR: Bad of_node_put() on /soc/usb@f9a55000
The error will occur if the configuration is set to:
CONFIG_OF_OVERLAY y
CONFIG_OF_UNITTEST y
CONFIG_OF_DYNAMIC y
CONFIG_OF_RESOLVE y
If CONFIG_OF_DYNAMIC is enabled then of_node_release() detects an
attempt to release a node that is still attached to the device tree.
Signed-off-by: Frank Rowand <frank.rowand@sony.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
---
drivers/usb/chipidea/ci_hdrc_msm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c
index 0bdfcdcbf7a5..bb626120296f 100644
--- a/drivers/usb/chipidea/ci_hdrc_msm.c
+++ b/drivers/usb/chipidea/ci_hdrc_msm.c
@@ -251,7 +251,7 @@ static int ci_hdrc_msm_probe(struct platform_device *pdev)
if (ret)
goto err_mux;
- ulpi_node = of_find_node_by_name(pdev->dev.of_node, "ulpi");
+ ulpi_node = of_find_node_by_name(of_node_get(pdev->dev.of_node), "ulpi");
if (ulpi_node) {
phy_node = of_get_next_available_child(ulpi_node, NULL);
ci->hsic = of_device_is_compatible(phy_node, "qcom,usb-hsic-phy");
--
2.14.1

View file

@ -8,7 +8,7 @@ _srcname=linux-4.13
_kernelname=${pkgbase#linux}
_desc="AArch64 multi-platform"
pkgver=4.13.0
pkgrel=1
pkgrel=2
arch=('aarch64')
url="http://www.kernel.org/"
license=('GPL2')
@ -19,15 +19,17 @@ source=("http://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
'0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch'
'0002-arm64-dts-rockchip-enable-sdmmc-controller-on-rk3399.patch'
'0003-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch'
'0004-Revert-arm64-dts-qcom-Collapse-usb-support-into-one-.patch'
'0004-arm64-dts-qcom-Force-host-mode-for-USB-on-apq8016-sb.patch'
'0005-usb-chipidea-msm-ci_hdrc_msm_probe-missing-of_node_g.patch'
'config'
'linux.preset'
'99-linux.hook')
md5sums=('ab1a2abc6f37b752dd2595338bec4e78'
'7062ef1caf651c728e2710df877cdc27'
'c98c7bf062b6da22eaedd94c7c565397'
'17fcc7db40486466de2dbb8560473206'
'c4da0e330c9aa3cdf99c4f642cadefc6'
'8db7297a3275eefc48b4e8c66cd16d3b'
'1e677ec7390244e3082ae39d6c370e7d'
'69fa0e6241343ea0993ae179c9c13bb6'
'bba80391517bacdeb4d7ccfec2c86e34'
'3142ca3948f4f3b0ab74f267e1be09f4'
'1e260c74fa12632a6c0def911f50d1bd'
'b5ef67d6086e20de7b82265f562f88b1'
'1d4477026533efaa0358a40855d50a83')
@ -42,7 +44,8 @@ prepare() {
git apply ../0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
git apply ../0002-arm64-dts-rockchip-enable-sdmmc-controller-on-rk3399.patch
git apply ../0003-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch
git apply ../0004-Revert-arm64-dts-qcom-Collapse-usb-support-into-one-.patch
git apply ../0004-arm64-dts-qcom-Force-host-mode-for-USB-on-apq8016-sb.patch
git apply ../0005-usb-chipidea-msm-ci_hdrc_msm_probe-missing-of_node_g.patch
cat "${srcdir}/config" > ./.config