diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2016-01-12 20:50:41 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2016-01-12 20:50:41 +0000 |
commit | ba3a749f9b29b40784bb576651142c601d4a7211 (patch) | |
tree | 5adb2f84ad87b100b0a0bde6f1e0407aa32203e1 /target/linux/sunxi/patches-4.4 | |
parent | bd99318c820c47af63c30dcf12fb3f929c257180 (diff) | |
download | upstream-ba3a749f9b29b40784bb576651142c601d4a7211.tar.gz upstream-ba3a749f9b29b40784bb576651142c601d4a7211.tar.bz2 upstream-ba3a749f9b29b40784bb576651142c601d4a7211.zip |
kernel: refresh patches for kernel 4.4
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 48222
Diffstat (limited to 'target/linux/sunxi/patches-4.4')
28 files changed, 70 insertions, 169 deletions
diff --git a/target/linux/sunxi/patches-4.4/100-clk-sunxi-add-dram-gates-support.patch b/target/linux/sunxi/patches-4.4/100-clk-sunxi-add-dram-gates-support.patch index f9caaa014c..4d353f3789 100644 --- a/target/linux/sunxi/patches-4.4/100-clk-sunxi-add-dram-gates-support.patch +++ b/target/linux/sunxi/patches-4.4/100-clk-sunxi-add-dram-gates-support.patch @@ -19,13 +19,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> drivers/clk/sunxi/clk-simple-gates.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) -diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt -index 153ac72..ef0b452 100644 -diff --git a/drivers/clk/sunxi/clk-simple-gates.c b/drivers/clk/sunxi/clk-simple-gates.c -index c8acc06..f4da52b 100644 --- a/drivers/clk/sunxi/clk-simple-gates.c +++ b/drivers/clk/sunxi/clk-simple-gates.c -@@ -160,3 +160,15 @@ CLK_OF_DECLARE(sun5i_a13_ahb, "allwinner,sun5i-a13-ahb-gates-clk", +@@ -158,3 +158,15 @@ CLK_OF_DECLARE(sun5i_a13_ahb, "allwinner sun4i_a10_ahb_init); CLK_OF_DECLARE(sun7i_a20_ahb, "allwinner,sun7i-a20-ahb-gates-clk", sun4i_a10_ahb_init); diff --git a/target/linux/sunxi/patches-4.4/101-dt-sun4i-add-dram-gates.patch b/target/linux/sunxi/patches-4.4/101-dt-sun4i-add-dram-gates.patch index 9bdf400c9c..e21eca4e1f 100644 --- a/target/linux/sunxi/patches-4.4/101-dt-sun4i-add-dram-gates.patch +++ b/target/linux/sunxi/patches-4.4/101-dt-sun4i-add-dram-gates.patch @@ -13,8 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> arch/arm/boot/dts/sun4i-a10.dtsi | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) -diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi -index aa90f31..849d024 100644 --- a/arch/arm/boot/dts/sun4i-a10.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi @@ -66,7 +66,7 @@ diff --git a/target/linux/sunxi/patches-4.4/102-dt-sun7i-add-dram-gates.patch b/target/linux/sunxi/patches-4.4/102-dt-sun7i-add-dram-gates.patch index 981ef5ba78..397269076c 100644 --- a/target/linux/sunxi/patches-4.4/102-dt-sun7i-add-dram-gates.patch +++ b/target/linux/sunxi/patches-4.4/102-dt-sun7i-add-dram-gates.patch @@ -13,8 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> arch/arm/boot/dts/sun7i-a20.dtsi | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) -diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi -index e02eb72..21169c0 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi @@ -68,7 +68,7 @@ diff --git a/target/linux/sunxi/patches-4.4/103-clk-sunxi-add-h3-clksupport.patch b/target/linux/sunxi/patches-4.4/103-clk-sunxi-add-h3-clksupport.patch index 04a536f330..8bc66274c3 100644 --- a/target/linux/sunxi/patches-4.4/103-clk-sunxi-add-h3-clksupport.patch +++ b/target/linux/sunxi/patches-4.4/103-clk-sunxi-add-h3-clksupport.patch @@ -24,10 +24,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> 4 files changed, 121 insertions(+) create mode 100644 drivers/clk/sunxi/clk-sun8i-bus-gates.c -diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt -index ef0b452..014eab8 100644 -diff --git a/drivers/clk/sunxi/Makefile b/drivers/clk/sunxi/Makefile -index 103efab..abf4916 100644 --- a/drivers/clk/sunxi/Makefile +++ b/drivers/clk/sunxi/Makefile @@ -10,6 +10,7 @@ obj-y += clk-a10-pll2.o @@ -38,9 +34,6 @@ index 103efab..abf4916 100644 obj-y += clk-sun8i-mbus.o obj-y += clk-sun9i-core.o obj-y += clk-sun9i-mmc.o -diff --git a/drivers/clk/sunxi/clk-sun8i-bus-gates.c b/drivers/clk/sunxi/clk-sun8i-bus-gates.c -new file mode 100644 -index 0000000..7ab60c5 --- /dev/null +++ b/drivers/clk/sunxi/clk-sun8i-bus-gates.c @@ -0,0 +1,112 @@ @@ -156,11 +149,9 @@ index 0000000..7ab60c5 + +CLK_OF_DECLARE(sun8i_h3_bus_gates, "allwinner,sun8i-h3-bus-gates-clk", + sun8i_h3_bus_gates_init); -diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c -index 9c79af0c..5ba2188 100644 --- a/drivers/clk/sunxi/clk-sunxi.c +++ b/drivers/clk/sunxi/clk-sunxi.c -@@ -778,6 +778,10 @@ static const struct mux_data sun6i_a31_ahb1_mux_data __initconst = { +@@ -778,6 +778,10 @@ static const struct mux_data sun6i_a31_a .shift = 12, }; @@ -171,7 +162,7 @@ index 9c79af0c..5ba2188 100644 static void __init sunxi_mux_clk_setup(struct device_node *node, struct mux_data *data) { -@@ -1130,6 +1134,7 @@ static const struct of_device_id clk_divs_match[] __initconst = { +@@ -1130,6 +1134,7 @@ static const struct of_device_id clk_div static const struct of_device_id clk_mux_match[] __initconst = { {.compatible = "allwinner,sun4i-a10-cpu-clk", .data = &sun4i_cpu_mux_data,}, {.compatible = "allwinner,sun6i-a31-ahb1-mux-clk", .data = &sun6i_a31_ahb1_mux_data,}, @@ -179,7 +170,7 @@ index 9c79af0c..5ba2188 100644 {} }; -@@ -1212,6 +1217,7 @@ CLK_OF_DECLARE(sun6i_a31_clk_init, "allwinner,sun6i-a31", sun6i_init_clocks); +@@ -1212,6 +1217,7 @@ CLK_OF_DECLARE(sun6i_a31_clk_init, "allw CLK_OF_DECLARE(sun6i_a31s_clk_init, "allwinner,sun6i-a31s", sun6i_init_clocks); CLK_OF_DECLARE(sun8i_a23_clk_init, "allwinner,sun8i-a23", sun6i_init_clocks); CLK_OF_DECLARE(sun8i_a33_clk_init, "allwinner,sun8i-a33", sun6i_init_clocks); diff --git a/target/linux/sunxi/patches-4.4/104-1-dt-sunxi-add-h3-dtsi.patch b/target/linux/sunxi/patches-4.4/104-1-dt-sunxi-add-h3-dtsi.patch index 19e957bd61..35a653c5fe 100644 --- a/target/linux/sunxi/patches-4.4/104-1-dt-sunxi-add-h3-dtsi.patch +++ b/target/linux/sunxi/patches-4.4/104-1-dt-sunxi-add-h3-dtsi.patch @@ -13,9 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> 1 file changed, 497 insertions(+) create mode 100644 arch/arm/boot/dts/sun8i-h3.dtsi -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -new file mode 100644 -index 0000000..1524130e --- /dev/null +++ b/arch/arm/boot/dts/sun8i-h3.dtsi @@ -0,0 +1,497 @@ diff --git a/target/linux/sunxi/patches-4.4/104-2-dt-sun8i-add-orangepi-plus.patch b/target/linux/sunxi/patches-4.4/104-2-dt-sun8i-add-orangepi-plus.patch index 589a85856c..67094a4beb 100644 --- a/target/linux/sunxi/patches-4.4/104-2-dt-sun8i-add-orangepi-plus.patch +++ b/target/linux/sunxi/patches-4.4/104-2-dt-sun8i-add-orangepi-plus.patch @@ -17,11 +17,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index e8f44c7..cc7309b 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -661,7 +661,8 @@ dtb-$(CONFIG_MACH_SUN8I) += \ +@@ -660,7 +660,8 @@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-a33-ga10h-v1.1.dtb \ sun8i-a33-ippo-q8h-v1.2.dtb \ sun8i-a33-q8-tablet.dtb \ @@ -31,9 +29,6 @@ index e8f44c7..cc7309b 100644 dtb-$(CONFIG_MACH_SUN9I) += \ sun9i-a80-optimus.dtb \ sun9i-a80-cubieboard4.dtb -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -new file mode 100644 -index 0000000..e67df59 --- /dev/null +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts @@ -0,0 +1,77 @@ diff --git a/target/linux/sunxi/patches-4.4/105-phy-use_of_match_node.patch b/target/linux/sunxi/patches-4.4/105-phy-use_of_match_node.patch index 970de980f1..7715b585d0 100644 --- a/target/linux/sunxi/patches-4.4/105-phy-use_of_match_node.patch +++ b/target/linux/sunxi/patches-4.4/105-phy-use_of_match_node.patch @@ -13,8 +13,6 @@ Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> drivers/phy/phy-sun4i-usb.c | 121 +++++++++++++++++++++++++++++--------------- 1 file changed, 79 insertions(+), 42 deletions(-) -diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/phy-sun4i-usb.c -index b12964b..35b1fa3 100644 --- a/drivers/phy/phy-sun4i-usb.c +++ b/drivers/phy/phy-sun4i-usb.c @@ -32,6 +32,7 @@ @@ -52,7 +50,7 @@ index b12964b..35b1fa3 100644 struct sun4i_usb_phy { struct phy *phy; void __iomem *pmu; -@@ -159,17 +171,14 @@ static void sun4i_usb_phy_write(struct sun4i_usb_phy *phy, u32 addr, u32 data, +@@ -159,17 +171,14 @@ static void sun4i_usb_phy_write(struct s { struct sun4i_usb_phy_data *phy_data = to_sun4i_usb_phy_data(phy); u32 temp, usbc_bit = BIT(phy->index * 2); @@ -72,7 +70,7 @@ index b12964b..35b1fa3 100644 } for (i = 0; i < len; i++) { -@@ -249,7 +258,8 @@ static int sun4i_usb_phy_init(struct phy *_phy) +@@ -249,7 +258,8 @@ static int sun4i_usb_phy_init(struct phy sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5); /* Disconnect threshold adjustment */ @@ -82,7 +80,7 @@ index b12964b..35b1fa3 100644 sun4i_usb_phy_passby(phy, 1); -@@ -476,7 +486,7 @@ static struct phy *sun4i_usb_phy_xlate(struct device *dev, +@@ -476,7 +486,7 @@ static struct phy *sun4i_usb_phy_xlate(s { struct sun4i_usb_phy_data *data = dev_get_drvdata(dev); @@ -91,7 +89,7 @@ index b12964b..35b1fa3 100644 return ERR_PTR(-ENODEV); return data->phys[args->args[0]].phy; -@@ -511,7 +521,6 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) +@@ -511,7 +521,6 @@ static int sun4i_usb_phy_probe(struct pl struct device *dev = &pdev->dev; struct device_node *np = dev->of_node; struct phy_provider *phy_provider; @@ -99,7 +97,7 @@ index b12964b..35b1fa3 100644 struct resource *res; int i, ret; -@@ -522,29 +531,9 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) +@@ -522,29 +531,9 @@ static int sun4i_usb_phy_probe(struct pl mutex_init(&data->mutex); INIT_DELAYED_WORK(&data->detect, sun4i_usb_phy0_id_vbus_det_scan); dev_set_drvdata(dev, data); @@ -132,7 +130,7 @@ index b12964b..35b1fa3 100644 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy_ctrl"); data->base = devm_ioremap_resource(dev, res); -@@ -590,7 +579,7 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) +@@ -590,7 +579,7 @@ static int sun4i_usb_phy_probe(struct pl } } @@ -141,7 +139,7 @@ index b12964b..35b1fa3 100644 struct sun4i_usb_phy *phy = data->phys + i; char name[16]; -@@ -602,7 +591,7 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) +@@ -602,7 +591,7 @@ static int sun4i_usb_phy_probe(struct pl phy->vbus = NULL; } @@ -150,7 +148,7 @@ index b12964b..35b1fa3 100644 snprintf(name, sizeof(name), "usb%d_phy", i); else strlcpy(name, "usb_phy", sizeof(name)); -@@ -689,13 +678,61 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) +@@ -689,13 +678,61 @@ static int sun4i_usb_phy_probe(struct pl return 0; } diff --git a/target/linux/sunxi/patches-4.4/106-phy-add-h3-usbphys.patch b/target/linux/sunxi/patches-4.4/106-phy-add-h3-usbphys.patch index 47c6332a77..33943230e8 100644 --- a/target/linux/sunxi/patches-4.4/106-phy-add-h3-usbphys.patch +++ b/target/linux/sunxi/patches-4.4/106-phy-add-h3-usbphys.patch @@ -16,8 +16,6 @@ Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> drivers/phy/phy-sun4i-usb.c | 41 +++++++++++++++++----- 2 files changed, 33 insertions(+), 9 deletions(-) -diff --git a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt -index 0cebf74..95736d7 100644 --- a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt +++ b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt @@ -9,6 +9,7 @@ Required properties: @@ -28,8 +26,6 @@ index 0cebf74..95736d7 100644 - reg : a list of offset + length pairs - reg-names : * "phy_ctrl" -diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/phy-sun4i-usb.c -index 35b1fa3..bae54f7 100644 --- a/drivers/phy/phy-sun4i-usb.c +++ b/drivers/phy/phy-sun4i-usb.c @@ -47,6 +47,9 @@ @@ -59,7 +55,7 @@ index 35b1fa3..bae54f7 100644 }; struct sun4i_usb_phy_cfg { -@@ -239,6 +243,7 @@ static int sun4i_usb_phy_init(struct phy *_phy) +@@ -239,6 +243,7 @@ static int sun4i_usb_phy_init(struct phy struct sun4i_usb_phy *phy = phy_get_drvdata(_phy); struct sun4i_usb_phy_data *data = to_sun4i_usb_phy_data(phy); int ret; @@ -67,13 +63,20 @@ index 35b1fa3..bae54f7 100644 ret = clk_prepare_enable(phy->clk); if (ret) -@@ -250,16 +255,26 @@ static int sun4i_usb_phy_init(struct phy *_phy) +@@ -250,16 +255,26 @@ static int sun4i_usb_phy_init(struct phy return ret; } - /* Enable USB 45 Ohm resistor calibration */ - if (phy->index == 0) - sun4i_usb_phy_write(phy, PHY_RES45_CAL_EN, 0x01, 1); +- +- /* Adjust PHY's magnitude and rate */ +- sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5); +- +- /* Disconnect threshold adjustment */ +- sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL, +- data->cfg->disc_thresh, 2); + if (data->cfg->type == sun8i_h3_phy) { + if (phy->index == 0) { + val = readl(data->base + REG_PHY_UNK_H3); @@ -86,15 +89,10 @@ index 35b1fa3..bae54f7 100644 + /* Enable USB 45 Ohm resistor calibration */ + if (phy->index == 0) + sun4i_usb_phy_write(phy, PHY_RES45_CAL_EN, 0x01, 1); - -- /* Adjust PHY's magnitude and rate */ -- sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5); ++ + /* Adjust PHY's magnitude and rate */ + sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5); - -- /* Disconnect threshold adjustment */ -- sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL, -- data->cfg->disc_thresh, 2); ++ + /* Disconnect threshold adjustment */ + sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL, + data->cfg->disc_thresh, 2); @@ -102,7 +100,7 @@ index 35b1fa3..bae54f7 100644 sun4i_usb_phy_passby(phy, 1); -@@ -726,6 +741,13 @@ static const struct sun4i_usb_phy_cfg sun8i_a33_cfg = { +@@ -726,6 +741,13 @@ static const struct sun4i_usb_phy_cfg su .dedicated_clocks = true, }; @@ -116,7 +114,7 @@ index 35b1fa3..bae54f7 100644 static const struct of_device_id sun4i_usb_phy_of_match[] = { { .compatible = "allwinner,sun4i-a10-usb-phy", .data = &sun4i_a10_cfg }, { .compatible = "allwinner,sun5i-a13-usb-phy", .data = &sun5i_a13_cfg }, -@@ -733,6 +755,7 @@ static const struct of_device_id sun4i_usb_phy_of_match[] = { +@@ -733,6 +755,7 @@ static const struct of_device_id sun4i_u { .compatible = "allwinner,sun7i-a20-usb-phy", .data = &sun7i_a20_cfg }, { .compatible = "allwinner,sun8i-a23-usb-phy", .data = &sun8i_a23_cfg }, { .compatible = "allwinner,sun8i-a33-usb-phy", .data = &sun8i_a33_cfg }, diff --git a/target/linux/sunxi/patches-4.4/107-clk-sunxi-add-h3-usbphy-clocks.patch b/target/linux/sunxi/patches-4.4/107-clk-sunxi-add-h3-usbphy-clocks.patch index 7cd0a62557..ddd5e978f4 100644 --- a/target/linux/sunxi/patches-4.4/107-clk-sunxi-add-h3-usbphy-clocks.patch +++ b/target/linux/sunxi/patches-4.4/107-clk-sunxi-add-h3-usbphy-clocks.patch @@ -17,8 +17,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> drivers/clk/sunxi/clk-usb.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) -diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt -index 8a47b77..a94bb56 100644 --- a/Documentation/devicetree/bindings/clock/sunxi.txt +++ b/Documentation/devicetree/bindings/clock/sunxi.txt @@ -68,6 +68,7 @@ Required properties: @@ -29,11 +27,9 @@ index 8a47b77..a94bb56 100644 "allwinner,sun9i-a80-usb-mod-clk" - for usb gates + resets on A80 "allwinner,sun9i-a80-usb-phy-clk" - for usb phy gates + resets on A80 -diff --git a/drivers/clk/sunxi/clk-usb.c b/drivers/clk/sunxi/clk-usb.c -index 1a72cd6..67b8e38 100644 --- a/drivers/clk/sunxi/clk-usb.c +++ b/drivers/clk/sunxi/clk-usb.c -@@ -243,3 +243,15 @@ static void __init sun9i_a80_usb_phy_setup(struct device_node *node) +@@ -243,3 +243,15 @@ static void __init sun9i_a80_usb_phy_set sunxi_usb_clk_setup(node, &sun9i_a80_usb_phy_data, &a80_usb_phy_lock); } CLK_OF_DECLARE(sun9i_a80_usb_phy, "allwinner,sun9i-a80-usb-phy-clk", sun9i_a80_usb_phy_setup); diff --git a/target/linux/sunxi/patches-4.4/110-clk-sunxi-add-ve-for-sun457i.patch b/target/linux/sunxi/patches-4.4/110-clk-sunxi-add-ve-for-sun457i.patch index 12c9e5e2af..780e034062 100644 --- a/target/linux/sunxi/patches-4.4/110-clk-sunxi-add-ve-for-sun457i.patch +++ b/target/linux/sunxi/patches-4.4/110-clk-sunxi-add-ve-for-sun457i.patch @@ -20,11 +20,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> 3 files changed, 176 insertions(+) create mode 100644 drivers/clk/sunxi/clk-a10-ve.c -diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt -index 014eab8..e59f57b 100644 --- a/Documentation/devicetree/bindings/clock/sunxi.txt +++ b/Documentation/devicetree/bindings/clock/sunxi.txt -@@ -76,6 +76,7 @@ Required properties: +@@ -71,6 +71,7 @@ Required properties: "allwinner,sun8i-h3-usb-clk" - for usb gates + resets on H3 "allwinner,sun9i-a80-usb-mod-clk" - for usb gates + resets on A80 "allwinner,sun9i-a80-usb-phy-clk" - for usb phy gates + resets on A80 @@ -32,7 +30,7 @@ index 014eab8..e59f57b 100644 Required properties for all clocks: - reg : shall be the control register address for the clock. -@@ -95,6 +96,9 @@ Required properties for all clocks: +@@ -90,6 +91,9 @@ Required properties for all clocks: And "allwinner,*-usb-clk" clocks also require: - reset-cells : shall be set to 1 @@ -42,8 +40,6 @@ index 014eab8..e59f57b 100644 The "allwinner,sun9i-a80-mmc-config-clk" clock also requires: - #reset-cells : shall be set to 1 - resets : shall be the reset control phandle for the mmc block. -diff --git a/drivers/clk/sunxi/Makefile b/drivers/clk/sunxi/Makefile -index abf4916..1a909f9 100644 --- a/drivers/clk/sunxi/Makefile +++ b/drivers/clk/sunxi/Makefile @@ -7,6 +7,7 @@ obj-y += clk-a10-codec.o @@ -54,9 +50,6 @@ index abf4916..1a909f9 100644 obj-y += clk-a20-gmac.o obj-y += clk-mod0.o obj-y += clk-simple-gates.o -diff --git a/drivers/clk/sunxi/clk-a10-ve.c b/drivers/clk/sunxi/clk-a10-ve.c -new file mode 100644 -index 0000000..044c171 --- /dev/null +++ b/drivers/clk/sunxi/clk-a10-ve.c @@ -0,0 +1,171 @@ diff --git a/target/linux/sunxi/patches-4.4/111-1-dt-sun4i-add-ve-clock-module.patch b/target/linux/sunxi/patches-4.4/111-1-dt-sun4i-add-ve-clock-module.patch index f24711ea41..cfcf9bfb40 100644 --- a/target/linux/sunxi/patches-4.4/111-1-dt-sun4i-add-ve-clock-module.patch +++ b/target/linux/sunxi/patches-4.4/111-1-dt-sun4i-add-ve-clock-module.patch @@ -12,8 +12,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> arch/arm/boot/dts/sun4i-a10.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+) -diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi -index 849d024..2c8f5e6 100644 --- a/arch/arm/boot/dts/sun4i-a10.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi @@ -520,6 +520,15 @@ diff --git a/target/linux/sunxi/patches-4.4/111-2-dt-sun7i-add-ve-clock-module.patch b/target/linux/sunxi/patches-4.4/111-2-dt-sun7i-add-ve-clock-module.patch index bac58d088e..85d2d31615 100644 --- a/target/linux/sunxi/patches-4.4/111-2-dt-sun7i-add-ve-clock-module.patch +++ b/target/linux/sunxi/patches-4.4/111-2-dt-sun7i-add-ve-clock-module.patch @@ -12,8 +12,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> arch/arm/boot/dts/sun7i-a20.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+) -diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi -index 21169c0..0940a78 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi @@ -527,6 +527,15 @@ diff --git a/target/linux/sunxi/patches-4.4/115-musb-ignore-vbus-errors.patch b/target/linux/sunxi/patches-4.4/115-musb-ignore-vbus-errors.patch index 3814e347fd..49c7162a6a 100644 --- a/target/linux/sunxi/patches-4.4/115-musb-ignore-vbus-errors.patch +++ b/target/linux/sunxi/patches-4.4/115-musb-ignore-vbus-errors.patch @@ -11,11 +11,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com> drivers/usb/musb/sunxi.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c -index d9b0dc4..4b472b8 100644 --- a/drivers/usb/musb/sunxi.c +++ b/drivers/usb/musb/sunxi.c -@@ -194,6 +194,10 @@ static irqreturn_t sunxi_musb_interrupt(int irq, void *__hci) +@@ -194,6 +194,10 @@ static irqreturn_t sunxi_musb_interrupt( musb_writeb(musb->mregs, MUSB_FADDR, 0); } diff --git a/target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch b/target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch index 3dfa60c77e..261a19d8d3 100644 --- a/target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch +++ b/target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch @@ -17,11 +17,9 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> drivers/crypto/sunxi-ss/sun4i-ss-core.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-core.c b/drivers/crypto/sunxi-ss/sun4i-ss-core.c -index eab6fe2..107cd2a 100644 --- a/drivers/crypto/sunxi-ss/sun4i-ss-core.c +++ b/drivers/crypto/sunxi-ss/sun4i-ss-core.c -@@ -39,6 +39,7 @@ static struct sun4i_ss_alg_template ss_algs[] = { +@@ -39,6 +39,7 @@ static struct sun4i_ss_alg_template ss_a .import = sun4i_hash_import_md5, .halg = { .digestsize = MD5_DIGEST_SIZE, @@ -29,7 +27,7 @@ index eab6fe2..107cd2a 100644 .base = { .cra_name = "md5", .cra_driver_name = "md5-sun4i-ss", -@@ -66,6 +67,7 @@ static struct sun4i_ss_alg_template ss_algs[] = { +@@ -66,6 +67,7 @@ static struct sun4i_ss_alg_template ss_a .import = sun4i_hash_import_sha1, .halg = { .digestsize = SHA1_DIGEST_SIZE, diff --git a/target/linux/sunxi/patches-4.4/130-pinctrl-sunxi-add-h3-pio.patch b/target/linux/sunxi/patches-4.4/130-pinctrl-sunxi-add-h3-pio.patch index 37921fa984..47dce12a9d 100644 --- a/target/linux/sunxi/patches-4.4/130-pinctrl-sunxi-add-h3-pio.patch +++ b/target/linux/sunxi/patches-4.4/130-pinctrl-sunxi-add-h3-pio.patch @@ -16,8 +16,6 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> 4 files changed, 522 insertions(+) create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c -diff --git a/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt -index b321b26..e6ba602 100644 --- a/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt @@ -18,6 +18,7 @@ Required properties: @@ -28,8 +26,6 @@ index b321b26..e6ba602 100644 - reg: Should contain the register physical address and length for the pin controller. -diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig -index e68fd95..89ab7f5 100644 --- a/drivers/pinctrl/sunxi/Kconfig +++ b/drivers/pinctrl/sunxi/Kconfig @@ -51,6 +51,10 @@ config PINCTRL_SUN8I_A23_R @@ -43,19 +39,14 @@ index e68fd95..89ab7f5 100644 config PINCTRL_SUN9I_A80 def_bool MACH_SUN9I select PINCTRL_SUNXI_COMMON -diff --git a/drivers/pinctrl/sunxi/Makefile b/drivers/pinctrl/sunxi/Makefile -index e080290..6bd818e 100644 --- a/drivers/pinctrl/sunxi/Makefile +++ b/drivers/pinctrl/sunxi/Makefile -@@ -13,4 +13,5 @@ obj-$(CONFIG_PINCTRL_SUN8I_A23) += pinctrl-sun8i-a23.o +@@ -13,4 +13,5 @@ obj-$(CONFIG_PINCTRL_SUN8I_A23) += pinc obj-$(CONFIG_PINCTRL_SUN8I_A23_R) += pinctrl-sun8i-a23-r.o obj-$(CONFIG_PINCTRL_SUN8I_A33) += pinctrl-sun8i-a33.o obj-$(CONFIG_PINCTRL_SUN8I_A83T) += pinctrl-sun8i-a83t.o +obj-$(CONFIG_PINCTRL_SUN8I_H3) += pinctrl-sun8i-h3.o obj-$(CONFIG_PINCTRL_SUN9I_A80) += pinctrl-sun9i-a80.o -diff --git a/drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c b/drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c -new file mode 100644 -index 0000000..98d465d --- /dev/null +++ b/drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c @@ -0,0 +1,516 @@ diff --git a/target/linux/sunxi/patches-4.4/131-reset-add-h3-resets.patch b/target/linux/sunxi/patches-4.4/131-reset-add-h3-resets.patch index a07cbe5797..f8e599fbe3 100644 --- a/target/linux/sunxi/patches-4.4/131-reset-add-h3-resets.patch +++ b/target/linux/sunxi/patches-4.4/131-reset-add-h3-resets.patch @@ -12,8 +12,6 @@ Signed-off-by: Jens Kuske <jenskuske@gmail.com> drivers/reset/reset-sunxi.c | 30 +++++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) -diff --git a/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt b/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt -index c8f77571..e11f023 100644 --- a/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt +++ b/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt @@ -8,6 +8,7 @@ Required properties: @@ -24,11 +22,9 @@ index c8f77571..e11f023 100644 - reg: should be register base and length as documented in the datasheet - #reset-cells: 1, see below -diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c -index 3d95c87..c91e146 100644 --- a/drivers/reset/reset-sunxi.c +++ b/drivers/reset/reset-sunxi.c -@@ -75,7 +75,9 @@ static struct reset_control_ops sunxi_reset_ops = { +@@ -75,7 +75,9 @@ static struct reset_control_ops sunxi_re .deassert = sunxi_reset_deassert, }; @@ -39,7 +35,7 @@ index 3d95c87..c91e146 100644 { struct sunxi_reset_data *data; struct resource res; -@@ -108,6 +110,7 @@ static int sunxi_reset_init(struct device_node *np) +@@ -108,6 +110,7 @@ static int sunxi_reset_init(struct devic data->rcdev.nr_resets = size * 32; data->rcdev.ops = &sunxi_reset_ops; data->rcdev.of_node = np; @@ -47,7 +43,7 @@ index 3d95c87..c91e146 100644 reset_controller_register(&data->rcdev); return 0; -@@ -117,6 +120,21 @@ static int sunxi_reset_init(struct device_node *np) +@@ -117,6 +120,21 @@ err_alloc: return ret; }; @@ -69,7 +65,7 @@ index 3d95c87..c91e146 100644 /* * These are the reset controller we need to initialize early on in * our system, before we can even think of using a regular device -@@ -124,15 +142,21 @@ static int sunxi_reset_init(struct device_node *np) +@@ -124,15 +142,21 @@ err_alloc: */ static const struct of_device_id sunxi_early_reset_dt_ids[] __initdata = { { .compatible = "allwinner,sun6i-a31-ahb1-reset", }, @@ -80,12 +76,13 @@ index 3d95c87..c91e146 100644 void __init sun6i_reset_init(void) { struct device_node *np; +- +- for_each_matching_node(np, sunxi_early_reset_dt_ids) +- sunxi_reset_init(np); + const struct of_device_id *match; + int (*of_xlate)(struct reset_controller_dev *rcdev, + const struct of_phandle_args *reset_spec); - -- for_each_matching_node(np, sunxi_early_reset_dt_ids) -- sunxi_reset_init(np); ++ + for_each_matching_node_and_match(np, sunxi_early_reset_dt_ids, &match) { + of_xlate = match->data; + sunxi_reset_init(np, of_xlate); diff --git a/target/linux/sunxi/patches-4.4/132-dt-sun8i-add-h3-usbclocks.patch b/target/linux/sunxi/patches-4.4/132-dt-sun8i-add-h3-usbclocks.patch index a38d34174c..13d44e4468 100644 --- a/target/linux/sunxi/patches-4.4/132-dt-sun8i-add-h3-usbclocks.patch +++ b/target/linux/sunxi/patches-4.4/132-dt-sun8i-add-h3-usbclocks.patch @@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com> arch/arm/boot/dts/sun8i-h3.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+) -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index 1524130e..cbab947 100644 --- a/arch/arm/boot/dts/sun8i-h3.dtsi +++ b/arch/arm/boot/dts/sun8i-h3.dtsi @@ -269,6 +269,18 @@ diff --git a/target/linux/sunxi/patches-4.4/133-dt-sun8i-add-usbphy-usbhost-ctrl-nodes.patch b/target/linux/sunxi/patches-4.4/133-dt-sun8i-add-usbphy-usbhost-ctrl-nodes.patch index 6910834297..78dcaa9fec 100644 --- a/target/linux/sunxi/patches-4.4/133-dt-sun8i-add-usbphy-usbhost-ctrl-nodes.patch +++ b/target/linux/sunxi/patches-4.4/133-dt-sun8i-add-usbphy-usbhost-ctrl-nodes.patch @@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com> arch/arm/boot/dts/sun8i-h3.dtsi | 101 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index cbab947..1169f515 100644 --- a/arch/arm/boot/dts/sun8i-h3.dtsi +++ b/arch/arm/boot/dts/sun8i-h3.dtsi @@ -362,6 +362,107 @@ diff --git a/target/linux/sunxi/patches-4.4/134-dt-sun8i-orangepiplus-enable-usbhost.patch b/target/linux/sunxi/patches-4.4/134-dt-sun8i-orangepiplus-enable-usbhost.patch index 403e185459..733639225c 100644 --- a/target/linux/sunxi/patches-4.4/134-dt-sun8i-orangepiplus-enable-usbhost.patch +++ b/target/linux/sunxi/patches-4.4/134-dt-sun8i-orangepiplus-enable-usbhost.patch @@ -13,8 +13,6 @@ Signed-off-by: Jens Kuske <jenskuske@gmail.com> arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -index e67df59..1cb6c66 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts @@ -58,6 +58,35 @@ diff --git a/target/linux/sunxi/patches-4.4/135-clk-sunxi-fix-signedness-bug.patch b/target/linux/sunxi/patches-4.4/135-clk-sunxi-fix-signedness-bug.patch index c90bbb5213..a4b2af9e5a 100644 --- a/target/linux/sunxi/patches-4.4/135-clk-sunxi-fix-signedness-bug.patch +++ b/target/linux/sunxi/patches-4.4/135-clk-sunxi-fix-signedness-bug.patch @@ -12,11 +12,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> drivers/clk/sunxi/clk-sun8i-bus-gates.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/clk/sunxi/clk-sun8i-bus-gates.c b/drivers/clk/sunxi/clk-sun8i-bus-gates.c -index 7ab60c5..b8c7753 100644 --- a/drivers/clk/sunxi/clk-sun8i-bus-gates.c +++ b/drivers/clk/sunxi/clk-sun8i-bus-gates.c -@@ -40,7 +40,7 @@ static void __init sun8i_h3_bus_gates_init(struct device_node *node) +@@ -40,7 +40,7 @@ static void __init sun8i_h3_bus_gates_in const __be32 *p; int number, i; u8 clk_bit; diff --git a/target/linux/sunxi/patches-4.4/140-reset-add-of_reset_control_get_by_index.patch b/target/linux/sunxi/patches-4.4/140-reset-add-of_reset_control_get_by_index.patch index 1a48d7c23f..c7e0e2bf64 100644 --- a/target/linux/sunxi/patches-4.4/140-reset-add-of_reset_control_get_by_index.patch +++ b/target/linux/sunxi/patches-4.4/140-reset-add-of_reset_control_get_by_index.patch @@ -16,11 +16,9 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> include/linux/reset.h | 9 +++++++++ 2 files changed, 38 insertions(+), 11 deletions(-) -diff --git a/drivers/reset/core.c b/drivers/reset/core.c -index 7955e00..81ae17d 100644 --- a/drivers/reset/core.c +++ b/drivers/reset/core.c -@@ -141,27 +141,24 @@ int reset_control_status(struct reset_control *rstc) +@@ -141,27 +141,24 @@ int reset_control_status(struct reset_co EXPORT_SYMBOL_GPL(reset_control_status); /** @@ -56,7 +54,7 @@ index 7955e00..81ae17d 100644 ret = of_parse_phandle_with_args(node, "resets", "#reset-cells", index, &args); if (ret) -@@ -202,6 +199,27 @@ struct reset_control *of_reset_control_get(struct device_node *node, +@@ -202,6 +199,27 @@ struct reset_control *of_reset_control_g return rstc; } @@ -84,11 +82,9 @@ index 7955e00..81ae17d 100644 EXPORT_SYMBOL_GPL(of_reset_control_get); /** -diff --git a/include/linux/reset.h b/include/linux/reset.h -index 7f65f9c..6db74ad 100644 --- a/include/linux/reset.h +++ b/include/linux/reset.h -@@ -38,6 +38,9 @@ static inline struct reset_control *devm_reset_control_get_optional( +@@ -38,6 +38,9 @@ static inline struct reset_control *devm struct reset_control *of_reset_control_get(struct device_node *node, const char *id); @@ -98,7 +94,7 @@ index 7f65f9c..6db74ad 100644 #else static inline int reset_control_reset(struct reset_control *rstc) -@@ -106,6 +109,12 @@ static inline struct reset_control *of_reset_control_get( +@@ -106,6 +109,12 @@ static inline struct reset_control *of_r return ERR_PTR(-ENOSYS); } diff --git a/target/linux/sunxi/patches-4.4/141-reset-fix-of_reset_control_get.patch b/target/linux/sunxi/patches-4.4/141-reset-fix-of_reset_control_get.patch index 62891b4e8c..eeab4972ba 100644 --- a/target/linux/sunxi/patches-4.4/141-reset-fix-of_reset_control_get.patch +++ b/target/linux/sunxi/patches-4.4/141-reset-fix-of_reset_control_get.patch @@ -21,11 +21,9 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> drivers/reset/core.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/drivers/reset/core.c b/drivers/reset/core.c -index 81ae17d..77cfc49 100644 --- a/drivers/reset/core.c +++ b/drivers/reset/core.c -@@ -215,9 +215,12 @@ struct reset_control *of_reset_control_get(struct device_node *node, +@@ -215,9 +215,12 @@ struct reset_control *of_reset_control_g { int index = 0; diff --git a/target/linux/sunxi/patches-4.4/142-reset-use-ENOTSUPP-instead-of-ENOSYS.patch b/target/linux/sunxi/patches-4.4/142-reset-use-ENOTSUPP-instead-of-ENOSYS.patch index a80eed4481..665b15b00a 100644 --- a/target/linux/sunxi/patches-4.4/142-reset-use-ENOTSUPP-instead-of-ENOSYS.patch +++ b/target/linux/sunxi/patches-4.4/142-reset-use-ENOTSUPP-instead-of-ENOSYS.patch @@ -13,11 +13,9 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> include/linux/reset.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) -diff --git a/drivers/reset/core.c b/drivers/reset/core.c -index 77cfc49..9ab9290 100644 --- a/drivers/reset/core.c +++ b/drivers/reset/core.c -@@ -95,7 +95,7 @@ int reset_control_reset(struct reset_control *rstc) +@@ -95,7 +95,7 @@ int reset_control_reset(struct reset_con if (rstc->rcdev->ops->reset) return rstc->rcdev->ops->reset(rstc->rcdev, rstc->id); @@ -26,7 +24,7 @@ index 77cfc49..9ab9290 100644 } EXPORT_SYMBOL_GPL(reset_control_reset); -@@ -108,7 +108,7 @@ int reset_control_assert(struct reset_control *rstc) +@@ -108,7 +108,7 @@ int reset_control_assert(struct reset_co if (rstc->rcdev->ops->assert) return rstc->rcdev->ops->assert(rstc->rcdev, rstc->id); @@ -35,7 +33,7 @@ index 77cfc49..9ab9290 100644 } EXPORT_SYMBOL_GPL(reset_control_assert); -@@ -121,7 +121,7 @@ int reset_control_deassert(struct reset_control *rstc) +@@ -121,7 +121,7 @@ int reset_control_deassert(struct reset_ if (rstc->rcdev->ops->deassert) return rstc->rcdev->ops->deassert(rstc->rcdev, rstc->id); @@ -44,7 +42,7 @@ index 77cfc49..9ab9290 100644 } EXPORT_SYMBOL_GPL(reset_control_deassert); -@@ -136,7 +136,7 @@ int reset_control_status(struct reset_control *rstc) +@@ -136,7 +136,7 @@ int reset_control_status(struct reset_co if (rstc->rcdev->ops->status) return rstc->rcdev->ops->status(rstc->rcdev, rstc->id); @@ -53,11 +51,9 @@ index 77cfc49..9ab9290 100644 } EXPORT_SYMBOL_GPL(reset_control_status); -diff --git a/include/linux/reset.h b/include/linux/reset.h -index 6db74ad..c4c097d 100644 --- a/include/linux/reset.h +++ b/include/linux/reset.h -@@ -74,7 +74,7 @@ static inline void reset_control_put(struct reset_control *rstc) +@@ -74,7 +74,7 @@ static inline void reset_control_put(str static inline int device_reset_optional(struct device *dev) { @@ -66,7 +62,7 @@ index 6db74ad..c4c097d 100644 } static inline struct reset_control *__must_check reset_control_get( -@@ -94,19 +94,19 @@ static inline struct reset_control *__must_check devm_reset_control_get( +@@ -94,19 +94,19 @@ static inline struct reset_control *__mu static inline struct reset_control *reset_control_get_optional( struct device *dev, const char *id) { diff --git a/target/linux/sunxi/patches-4.4/143-reset-add-shared-resetcontrol-asserts.patch b/target/linux/sunxi/patches-4.4/143-reset-add-shared-resetcontrol-asserts.patch index 3e962d9dab..e1078e9696 100644 --- a/target/linux/sunxi/patches-4.4/143-reset-add-shared-resetcontrol-asserts.patch +++ b/target/linux/sunxi/patches-4.4/143-reset-add-shared-resetcontrol-asserts.patch @@ -22,11 +22,9 @@ Changes in v2: include/linux/reset.h | 2 + 3 files changed, 116 insertions(+), 9 deletions(-) -diff --git a/drivers/reset/core.c b/drivers/reset/core.c -index 9ab9290..8c3436c 100644 --- a/drivers/reset/core.c +++ b/drivers/reset/core.c -@@ -22,16 +22,29 @@ static DEFINE_MUTEX(reset_controller_list_mutex); +@@ -22,16 +22,29 @@ static DEFINE_MUTEX(reset_controller_lis static LIST_HEAD(reset_controller_list); /** @@ -59,7 +57,7 @@ index 9ab9290..8c3436c 100644 }; /** -@@ -66,6 +79,8 @@ int reset_controller_register(struct reset_controller_dev *rcdev) +@@ -66,6 +79,8 @@ int reset_controller_register(struct res rcdev->of_xlate = of_reset_simple_xlate; } @@ -68,7 +66,7 @@ index 9ab9290..8c3436c 100644 mutex_lock(&reset_controller_list_mutex); list_add(&rcdev->list, &reset_controller_list); mutex_unlock(&reset_controller_list_mutex); -@@ -93,7 +108,7 @@ EXPORT_SYMBOL_GPL(reset_controller_unregister); +@@ -93,7 +108,7 @@ EXPORT_SYMBOL_GPL(reset_controller_unreg int reset_control_reset(struct reset_control *rstc) { if (rstc->rcdev->ops->reset) @@ -143,7 +141,7 @@ index 9ab9290..8c3436c 100644 * reset_control_status - returns a negative errno if not supported, a * positive value if the reset line is asserted, or zero if the reset * line is not asserted. -@@ -134,12 +191,47 @@ EXPORT_SYMBOL_GPL(reset_control_deassert); +@@ -134,12 +191,47 @@ EXPORT_SYMBOL_GPL(reset_control_deassert int reset_control_status(struct reset_control *rstc) { if (rstc->rcdev->ops->status) @@ -192,7 +190,7 @@ index 9ab9290..8c3436c 100644 /** * of_reset_control_get_by_index - Lookup and obtain a reference to a reset * controller by index. -@@ -155,6 +247,7 @@ struct reset_control *of_reset_control_get_by_index(struct device_node *node, +@@ -155,6 +247,7 @@ struct reset_control *of_reset_control_g { struct reset_control *rstc = ERR_PTR(-EPROBE_DEFER); struct reset_controller_dev *r, *rcdev; @@ -200,7 +198,7 @@ index 9ab9290..8c3436c 100644 struct of_phandle_args args; int rstc_id; int ret; -@@ -186,16 +279,22 @@ struct reset_control *of_reset_control_get_by_index(struct device_node *node, +@@ -186,16 +279,22 @@ struct reset_control *of_reset_control_g } try_module_get(rcdev->owner); @@ -225,7 +223,7 @@ index 9ab9290..8c3436c 100644 return rstc; } -@@ -259,6 +358,10 @@ void reset_control_put(struct reset_control *rstc) +@@ -259,6 +358,10 @@ void reset_control_put(struct reset_cont if (IS_ERR(rstc)) return; @@ -236,8 +234,6 @@ index 9ab9290..8c3436c 100644 module_put(rstc->rcdev->owner); kfree(rstc); } -diff --git a/include/linux/reset-controller.h b/include/linux/reset-controller.h -index ce6b962..7f2cbd1 100644 --- a/include/linux/reset-controller.h +++ b/include/linux/reset-controller.h @@ -31,6 +31,7 @@ struct of_phandle_args; @@ -256,11 +252,9 @@ index ce6b962..7f2cbd1 100644 struct device_node *of_node; int of_reset_n_cells; int (*of_xlate)(struct reset_controller_dev *rcdev, -diff --git a/include/linux/reset.h b/include/linux/reset.h -index c4c097d..1cca8ce 100644 --- a/include/linux/reset.h +++ b/include/linux/reset.h -@@ -11,6 +11,8 @@ int reset_control_reset(struct reset_control *rstc); +@@ -11,6 +11,8 @@ int reset_control_reset(struct reset_con int reset_control_assert(struct reset_control *rstc); int reset_control_deassert(struct reset_control *rstc); int reset_control_status(struct reset_control *rstc); diff --git a/target/linux/sunxi/patches-4.4/144-usb-ehci-plat-support-multiple-reset-ctrllines.patch b/target/linux/sunxi/patches-4.4/144-usb-ehci-plat-support-multiple-reset-ctrllines.patch index faafa1f0a3..73cd3027bf 100644 --- a/target/linux/sunxi/patches-4.4/144-usb-ehci-plat-support-multiple-reset-ctrllines.patch +++ b/target/linux/sunxi/patches-4.4/144-usb-ehci-plat-support-multiple-reset-ctrllines.patch @@ -19,8 +19,6 @@ Changes in v2: drivers/usb/host/ehci-platform.c | 47 +++++++++++++--------- 2 files changed, 30 insertions(+), 19 deletions(-) -diff --git a/Documentation/devicetree/bindings/usb/usb-ehci.txt b/Documentation/devicetree/bindings/usb/usb-ehci.txt -index a12d601..0701812 100644 --- a/Documentation/devicetree/bindings/usb/usb-ehci.txt +++ b/Documentation/devicetree/bindings/usb/usb-ehci.txt @@ -18,7 +18,7 @@ Optional properties: @@ -32,8 +30,6 @@ index a12d601..0701812 100644 Example (Sequoia 440EPx): ehci@e0000300 { -diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c -index bd7082f2..6fbf32a 100644 --- a/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c @@ -39,11 +39,12 @@ @@ -50,7 +46,7 @@ index bd7082f2..6fbf32a 100644 struct phy **phys; int num_phys; bool reset_on_resume; -@@ -149,7 +150,7 @@ static int ehci_platform_probe(struct platform_device *dev) +@@ -149,7 +150,7 @@ static int ehci_platform_probe(struct pl struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev); struct ehci_platform_priv *priv; struct ehci_hcd *ehci; @@ -59,7 +55,7 @@ index bd7082f2..6fbf32a 100644 if (usb_disabled()) return -ENODEV; -@@ -232,18 +233,24 @@ static int ehci_platform_probe(struct platform_device *dev) +@@ -232,18 +233,24 @@ static int ehci_platform_probe(struct pl break; } } @@ -95,7 +91,7 @@ index bd7082f2..6fbf32a 100644 } if (pdata->big_endian_desc) -@@ -300,8 +307,10 @@ static int ehci_platform_probe(struct platform_device *dev) +@@ -302,8 +309,10 @@ err_power: if (pdata->power_off) pdata->power_off(dev); err_reset: @@ -108,7 +104,7 @@ index bd7082f2..6fbf32a 100644 err_put_clks: while (--clk >= 0) clk_put(priv->clks[clk]); -@@ -319,15 +328,17 @@ static int ehci_platform_remove(struct platform_device *dev) +@@ -321,15 +330,17 @@ static int ehci_platform_remove(struct p struct usb_hcd *hcd = platform_get_drvdata(dev); struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev); struct ehci_platform_priv *priv = hcd_to_ehci_priv(hcd); diff --git a/target/linux/sunxi/patches-4.4/145-usb-ohci-plat-support-multiple-reset-ctrllines.patch b/target/linux/sunxi/patches-4.4/145-usb-ohci-plat-support-multiple-reset-ctrllines.patch index 6f536b918d..a25d487aad 100644 --- a/target/linux/sunxi/patches-4.4/145-usb-ohci-plat-support-multiple-reset-ctrllines.patch +++ b/target/linux/sunxi/patches-4.4/145-usb-ohci-plat-support-multiple-reset-ctrllines.patch @@ -19,8 +19,6 @@ Changes in v2: drivers/usb/host/ohci-platform.c | 49 +++++++++++++--------- 2 files changed, 30 insertions(+), 21 deletions(-) -diff --git a/Documentation/devicetree/bindings/usb/usb-ohci.txt b/Documentation/devicetree/bindings/usb/usb-ohci.txt -index 19233b7..9df4569 100644 --- a/Documentation/devicetree/bindings/usb/usb-ohci.txt +++ b/Documentation/devicetree/bindings/usb/usb-ohci.txt @@ -14,7 +14,7 @@ Optional properties: @@ -32,8 +30,6 @@ index 19233b7..9df4569 100644 Example: -diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c -index c2669f18..7d8bbc4 100644 --- a/drivers/usb/host/ohci-platform.c +++ b/drivers/usb/host/ohci-platform.c @@ -33,11 +33,12 @@ @@ -50,7 +46,7 @@ index c2669f18..7d8bbc4 100644 struct phy **phys; int num_phys; }; -@@ -117,7 +118,7 @@ static int ohci_platform_probe(struct platform_device *dev) +@@ -117,7 +118,7 @@ static int ohci_platform_probe(struct pl struct usb_ohci_pdata *pdata = dev_get_platdata(&dev->dev); struct ohci_platform_priv *priv; struct ohci_hcd *ohci; @@ -59,7 +55,7 @@ index c2669f18..7d8bbc4 100644 if (usb_disabled()) return -ENODEV; -@@ -195,19 +196,23 @@ static int ohci_platform_probe(struct platform_device *dev) +@@ -195,19 +196,23 @@ static int ohci_platform_probe(struct pl break; } } @@ -96,7 +92,7 @@ index c2669f18..7d8bbc4 100644 } if (pdata->big_endian_desc) -@@ -265,8 +270,10 @@ static int ohci_platform_probe(struct platform_device *dev) +@@ -265,8 +270,10 @@ err_power: if (pdata->power_off) pdata->power_off(dev); err_reset: @@ -109,7 +105,7 @@ index c2669f18..7d8bbc4 100644 err_put_clks: while (--clk >= 0) clk_put(priv->clks[clk]); -@@ -284,15 +291,17 @@ static int ohci_platform_remove(struct platform_device *dev) +@@ -284,15 +291,17 @@ static int ohci_platform_remove(struct p struct usb_hcd *hcd = platform_get_drvdata(dev); struct usb_ohci_pdata *pdata = dev_get_platdata(&dev->dev); struct ohci_platform_priv *priv = hcd_to_ohci_priv(hcd); diff --git a/target/linux/sunxi/patches-4.4/150-dt-sun7i-enable-codec-on-pcduino3.patch b/target/linux/sunxi/patches-4.4/150-dt-sun7i-enable-codec-on-pcduino3.patch index c0d9660100..c967ca91a7 100644 --- a/target/linux/sunxi/patches-4.4/150-dt-sun7i-enable-codec-on-pcduino3.patch +++ b/target/linux/sunxi/patches-4.4/150-dt-sun7i-enable-codec-on-pcduino3.patch @@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com> arch/arm/boot/dts/sun7i-a20-pcduino3.dts | 5 +++++ 1 file changed, 5 insertions(+) -diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts -index 861a4a6..067f365 100644 --- a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts +++ b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts @@ -111,6 +111,11 @@ diff --git a/target/linux/sunxi/patches-4.4/200-dt-sun7i-add-lamobo-r1.patch b/target/linux/sunxi/patches-4.4/200-dt-sun7i-add-lamobo-r1.patch index dceaea884b..b1e00b45ab 100644 --- a/target/linux/sunxi/patches-4.4/200-dt-sun7i-add-lamobo-r1.patch +++ b/target/linux/sunxi/patches-4.4/200-dt-sun7i-add-lamobo-r1.patch @@ -18,11 +18,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com> 2 files changed, 298 insertions(+) create mode 100644 arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index cc7309b..6f8deac 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -639,6 +639,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \ +@@ -638,6 +638,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \ sun7i-a20-cubietruck.dtb \ sun7i-a20-hummingbird.dtb \ sun7i-a20-i12-tvbox.dtb \ @@ -30,9 +28,6 @@ index cc7309b..6f8deac 100644 sun7i-a20-m3.dtb \ sun7i-a20-mk808c.dtb \ sun7i-a20-olimex-som-evb.dtb \ -diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts -new file mode 100644 -index 0000000..975b0b2 --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts @@ -0,0 +1,297 @@ |