upgrade 3.13 targets to 3.13.2, refresh patches

Signed-off-by: Imre Kaloz <kaloz@openwrt.org

SVN-Revision: 39582
v19.07.3_mercusys_ac12_duma
Imre Kaloz 10 years ago
parent 83d9cec491
commit af63cdf87a

@ -23,8 +23,8 @@ endif
ifeq ($(LINUX_VERSION),3.12.10)
LINUX_KERNEL_MD5SUM:=93325074b7b1d7bb76fb7d4348f0aa7a
endif
ifeq ($(LINUX_VERSION),3.13.1)
LINUX_KERNEL_MD5SUM:=18f528e5632f0096e642c511722630dc
ifeq ($(LINUX_VERSION),3.13.2)
LINUX_KERNEL_MD5SUM:=83386986b4b58507a4f064aa46676f5e
endif
# disable the md5sum check for unknown kernel versions

@ -15,7 +15,7 @@
{USB_DEVICE(0x0af0, 0xd155)},
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -1259,6 +1259,18 @@ UNUSUAL_DEV( 0x0af0, 0x8304, 0x0000, 0x0
@@ -1266,6 +1266,18 @@ UNUSUAL_DEV( 0x0af0, 0x8304, 0x0000, 0x0
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
0 ),

@ -61,10 +61,10 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
retval = pdata->pre_setup(hcd);
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
@@ -225,6 +225,7 @@ struct ehci_hcd { /* one per controlle
unsigned has_synopsys_hc_bug:1; /* Synopsys HC */
@@ -226,6 +226,7 @@ struct ehci_hcd { /* one per controlle
unsigned frame_index_bug:1; /* MosChip (AKA NetMos) */
unsigned need_oc_pp_cycle:1; /* MPC834X port power */
unsigned imx28_write_fix:1; /* For Freescale i.MX28 */
+ unsigned ignore_oc:1;
/* required for usb32 quirk */

@ -13,7 +13,7 @@ FEATURES:=ext4 rtc usb gpio
CPU_TYPE:=arm926ej-s
MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
LINUX_VERSION:=3.13.1
LINUX_VERSION:=3.13.2
KERNELNAME:="zImage dtbs"
define Target/Description

@ -1,6 +1,6 @@
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -125,6 +125,7 @@ config SND_SOC_ALL_CODECS
@@ -132,6 +132,7 @@ config SND_SOC_ALL_CODECS
select SND_SOC_WM9705 if SND_SOC_AC97_BUS
select SND_SOC_WM9712 if SND_SOC_AC97_BUS
select SND_SOC_WM9713 if SND_SOC_AC97_BUS
@ -8,7 +8,7 @@
help
Normally ASoC codec drivers are only built if a machine driver which
uses them is also built since they are only usable with a machine
@@ -507,6 +508,9 @@ config SND_SOC_WM9712
@@ -534,6 +535,9 @@ config SND_SOC_WM9712
config SND_SOC_WM9713
tristate
@ -20,7 +20,7 @@
tristate
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -118,6 +118,7 @@ snd-soc-wm9705-objs := wm9705.o
@@ -124,6 +124,7 @@ snd-soc-wm9705-objs := wm9705.o
snd-soc-wm9712-objs := wm9712.o
snd-soc-wm9713-objs := wm9713.o
snd-soc-wm-hubs-objs := wm_hubs.o
@ -28,7 +28,7 @@
# Amp
snd-soc-max9877-objs := max9877.o
@@ -242,6 +243,7 @@ obj-$(CONFIG_SND_SOC_WM9712) += snd-soc-
@@ -254,6 +255,7 @@ obj-$(CONFIG_SND_SOC_WM9712) += snd-soc-
obj-$(CONFIG_SND_SOC_WM9713) += snd-soc-wm9713.o
obj-$(CONFIG_SND_SOC_WM_ADSP) += snd-soc-wm-adsp.o
obj-$(CONFIG_SND_SOC_WM_HUBS) += snd-soc-wm-hubs.o
@ -1997,7 +1997,7 @@
+#endif /* __MXS_ADC_CODEC_H */
--- a/sound/soc/mxs/Kconfig
+++ b/sound/soc/mxs/Kconfig
@@ -18,3 +18,13 @@ config SND_SOC_MXS_SGTL5000
@@ -19,3 +19,13 @@ config SND_SOC_MXS_SGTL5000
a sgtl5000 codec.
endif # SND_MXS_SOC

@ -1,6 +1,6 @@
--- a/arch/arm/boot/dts/imx23-olinuxino.dts
+++ b/arch/arm/boot/dts/imx23-olinuxino.dts
@@ -84,6 +84,25 @@
@@ -88,6 +88,25 @@
usbphy0: usbphy@8007c000 {
status = "okay";
};
@ -26,7 +26,7 @@
};
};
@@ -118,4 +137,10 @@
@@ -122,4 +141,10 @@
gpios = <&gpio2 1 1>;
};
};

@ -1,6 +1,6 @@
--- a/arch/arm/boot/dts/imx23.dtsi
+++ b/arch/arm/boot/dts/imx23.dtsi
@@ -337,6 +337,7 @@
@@ -338,6 +338,7 @@
dcp@80028000 {
reg = <0x80028000 0x2000>;

@ -1,6 +1,6 @@
--- a/arch/arm/boot/dts/imx23-olinuxino.dts
+++ b/arch/arm/boot/dts/imx23-olinuxino.dts
@@ -109,6 +109,11 @@
@@ -113,6 +113,11 @@
dmas = <&dma_apbx 0>, <&dma_apbx 1>;
dma-names = "rx", "tx";
};

@ -1,8 +1,7 @@
diff -ruN old/arch/arm/boot/dts/imx23.dtsi new/arch/arm/boot/dts/imx23.dtsi
--- old/arch/arm/boot/dts/imx23.dtsi 2013-11-19 11:52:31.000000000 +0100
+++ new/arch/arm/boot/dts/imx23.dtsi 2013-11-19 13:08:47.787452900 +0100
@@ -145,6 +145,39 @@
fsl,pull-up = <0>;
--- a/arch/arm/boot/dts/imx23.dtsi
+++ b/arch/arm/boot/dts/imx23.dtsi
@@ -146,6 +146,39 @@
fsl,pull-up = <MXS_PULL_DISABLE>;
};
+ i2c0_pins_a: i2c0@0 {
@ -41,7 +40,7 @@ diff -ruN old/arch/arm/boot/dts/imx23.dtsi new/arch/arm/boot/dts/imx23.dtsi
auart0_pins_a: auart0@0 {
reg = <0>;
fsl,pinmux-ids = <
@@ -441,7 +474,12 @@
@@ -443,7 +476,12 @@
};
i2c@80058000 {
@ -54,9 +53,8 @@ diff -ruN old/arch/arm/boot/dts/imx23.dtsi new/arch/arm/boot/dts/imx23.dtsi
dmas = <&dma_apbx 3>;
dma-names = "rx-tx";
status = "disabled";
diff -ruN old/arch/arm/boot/dts/imx23-olinuxino.dts new/arch/arm/boot/dts/imx23-olinuxino.dts
--- old/arch/arm/boot/dts/imx23-olinuxino.dts 2013-11-19 11:52:31.000000000 +0100
+++ new/arch/arm/boot/dts/imx23-olinuxino.dts 2013-11-19 12:18:53.000000000 +0100
--- a/arch/arm/boot/dts/imx23-olinuxino.dts
+++ b/arch/arm/boot/dts/imx23-olinuxino.dts
@@ -79,6 +79,12 @@
status = "okay";
};

@ -1,7 +1,6 @@
diff -ruN old/arch/arm/boot/dts/Makefile new/arch/arm/boot/dts/Makefile
--- old/arch/arm/boot/dts/Makefile 2014-02-05 13:08:14.000000000 +0100
+++ new/arch/arm/boot/dts/Makefile 2014-02-05 13:12:40.493773522 +0100
@@ -164,6 +164,7 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -164,6 +164,7 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb
imx28-cfa10057.dtb \
imx28-cfa10058.dtb \
imx28-evk.dtb \
@ -9,10 +8,9 @@ diff -ruN old/arch/arm/boot/dts/Makefile new/arch/arm/boot/dts/Makefile
imx28-m28cu3.dtb \
imx28-m28evk.dtb \
imx28-sps1.dtb \
diff -ruN old/arch/arm/mach-mxs/mach-mxs.c new/arch/arm/mach-mxs/mach-mxs.c
--- old/arch/arm/mach-mxs/mach-mxs.c 2014-02-05 13:08:14.000000000 +0100
+++ new/arch/arm/mach-mxs/mach-mxs.c 2014-02-05 13:13:27.121772897 +0100
@@ -157,6 +157,7 @@
--- a/arch/arm/mach-mxs/mach-mxs.c
+++ b/arch/arm/mach-mxs/mach-mxs.c
@@ -157,6 +157,7 @@ enum mac_oui {
OUI_FSL,
OUI_DENX,
OUI_CRYSTALFONTZ,
@ -20,7 +18,7 @@ diff -ruN old/arch/arm/mach-mxs/mach-mxs.c new/arch/arm/mach-mxs/mach-mxs.c
};
static void __init update_fec_mac_prop(enum mac_oui oui)
@@ -211,6 +212,11 @@
@@ -211,6 +212,11 @@ static void __init update_fec_mac_prop(e
macaddr[1] = 0xb9;
macaddr[2] = 0xe1;
break;
@ -32,7 +30,7 @@ diff -ruN old/arch/arm/mach-mxs/mach-mxs.c new/arch/arm/mach-mxs/mach-mxs.c
}
val = ocotp[i];
macaddr[3] = (val >> 16) & 0xff;
@@ -426,6 +432,11 @@
@@ -426,6 +432,11 @@ static int __init mxs_restart_init(void)
return 0;
}
@ -44,7 +42,7 @@ diff -ruN old/arch/arm/mach-mxs/mach-mxs.c new/arch/arm/mach-mxs/mach-mxs.c
static void __init mxs_machine_init(void)
{
struct device_node *root;
@@ -464,6 +475,8 @@
@@ -464,6 +475,8 @@ static void __init mxs_machine_init(void
crystalfontz_init();
else if (of_machine_is_compatible("msr,m28cu3"))
m28cu3_init();

@ -13,7 +13,7 @@ FEATURES:=usb usbgadget ext4 targz fpu audio display ubifs
CPU_TYPE:=cortex-a9
CPU_SUBTYPE:=vfpv3
LINUX_VERSION:=3.13.1
LINUX_VERSION:=3.13.2
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>

@ -15,7 +15,7 @@ CPU_TYPE:=cortex-a8
CPU_SUBTYPE:=vfpv3
MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
LINUX_VERSION:=3.13.1
LINUX_VERSION:=3.13.2
KERNELNAME:="zImage dtbs"
DEFAULT_PACKAGES += uboot-envtools uboot-sunxi kmod-eeprom-sunxi kmod-wdt-sunxi

@ -17,11 +17,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/clk-composite.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/drivers/clk/clk-composite.c b/drivers/clk/clk-composite.c
index a33f46f..753d0b7 100644
--- a/drivers/clk/clk-composite.c
+++ b/drivers/clk/clk-composite.c
@@ -55,6 +55,30 @@ static unsigned long clk_composite_recalc_rate(struct clk_hw *hw,
@@ -55,6 +55,30 @@ static unsigned long clk_composite_recal
return rate_ops->recalc_rate(rate_hw, parent_rate);
}
@ -52,7 +50,7 @@ index a33f46f..753d0b7 100644
static long clk_composite_round_rate(struct clk_hw *hw, unsigned long rate,
unsigned long *prate)
{
@@ -147,6 +171,8 @@ struct clk *clk_register_composite(struct device *dev, const char *name,
@@ -147,6 +171,8 @@ struct clk *clk_register_composite(struc
composite->mux_ops = mux_ops;
clk_composite_ops->get_parent = clk_composite_get_parent;
clk_composite_ops->set_parent = clk_composite_set_parent;
@ -61,7 +59,7 @@ index a33f46f..753d0b7 100644
}
if (rate_hw && rate_ops) {
@@ -170,6 +196,8 @@ struct clk *clk_register_composite(struct device *dev, const char *name,
@@ -170,6 +196,8 @@ struct clk *clk_register_composite(struc
composite->rate_hw = rate_hw;
composite->rate_ops = rate_ops;
clk_composite_ops->recalc_rate = clk_composite_recalc_rate;
@ -70,6 +68,3 @@ index a33f46f..753d0b7 100644
}
if (gate_hw && gate_ops) {
--
1.8.5.1

@ -16,8 +16,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/sunxi/clk-factors.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c
index 88523f9..5687ac9 100644
--- a/drivers/clk/sunxi/clk-factors.c
+++ b/drivers/clk/sunxi/clk-factors.c
@@ -40,7 +40,7 @@ struct clk_factors {
@ -29,6 +27,3 @@ index 88523f9..5687ac9 100644
#define CLRMASK(len, pos) (~(SETMASK(len, pos)))
#define FACTOR_GET(bit, len, reg) (((reg) & SETMASK(len, bit)) >> (bit))
--
1.8.5.1

@ -14,11 +14,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/sunxi/clk-factors.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c
index 5687ac9..f05207a 100644
--- a/drivers/clk/sunxi/clk-factors.c
+++ b/drivers/clk/sunxi/clk-factors.c
@@ -88,7 +88,7 @@ static long clk_factors_round_rate(struct clk_hw *hw, unsigned long rate,
@@ -88,7 +88,7 @@ static long clk_factors_round_rate(struc
static int clk_factors_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{
@ -27,6 +25,3 @@ index 5687ac9..f05207a 100644
u32 reg;
struct clk_factors *factors = to_clk_factors(hw);
struct clk_factors_config *config = factors->config;
--
1.8.5.1

@ -20,11 +20,9 @@ Conflicts:
drivers/clk/sunxi/clk-sunxi.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 9bbd035..8fc1375 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -616,6 +616,31 @@ static void __init of_sunxi_table_clock_setup(const struct of_device_id *clk_mat
@@ -616,6 +616,31 @@ static void __init of_sunxi_table_clock_
}
}
@ -56,7 +54,7 @@ index 9bbd035..8fc1375 100644
static void __init sunxi_init_clocks(struct device_node *np)
{
/* Register factor clocks */
@@ -629,6 +654,9 @@ static void __init sunxi_init_clocks(struct device_node *np)
@@ -629,6 +654,9 @@ static void __init sunxi_init_clocks(str
/* Register gate clocks */
of_sunxi_table_clock_setup(clk_gates_match, sunxi_gates_clk_setup);
@ -66,6 +64,3 @@ index 9bbd035..8fc1375 100644
}
CLK_OF_DECLARE(sun4i_a10_clk_init, "allwinner,sun4i-a10", sunxi_init_clocks);
CLK_OF_DECLARE(sun5i_a10s_clk_init, "allwinner,sun5i-a10s", sunxi_init_clocks);
--
1.8.5.1

@ -12,11 +12,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/sunxi/clk-sunxi.c | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 8fc1375..492ef0e 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -37,18 +37,16 @@ static void __init sun4i_osc_clk_setup(struct device_node *node)
@@ -37,18 +37,16 @@ static void __init sun4i_osc_clk_setup(s
const char *clk_name = node->name;
u32 rate;
@ -40,7 +38,7 @@ index 8fc1375..492ef0e 100644
/* set up gate and fixed rate properties */
gate->reg = of_iomap(node, 0);
@@ -63,10 +61,18 @@ static void __init sun4i_osc_clk_setup(struct device_node *node)
@@ -63,10 +61,18 @@ static void __init sun4i_osc_clk_setup(s
&gate->hw, &clk_gate_ops,
CLK_IS_ROOT);
@ -63,6 +61,3 @@ index 8fc1375..492ef0e 100644
}
CLK_OF_DECLARE(sun4i_osc, "allwinner,sun4i-osc-clk", sun4i_osc_clk_setup);
--
1.8.5.1

@ -21,16 +21,11 @@ Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
2 files changed, 176 insertions(+)
create mode 100644 drivers/reset/reset-sunxi.c
diff --git a/drivers/reset/Makefile b/drivers/reset/Makefile
index 1e2d83f..cc29832 100644
--- a/drivers/reset/Makefile
+++ b/drivers/reset/Makefile
@@ -1 +1,2 @@
obj-$(CONFIG_RESET_CONTROLLER) += core.o
+obj-$(CONFIG_ARCH_SUNXI) += reset-sunxi.o
diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c
new file mode 100644
index 0000000..695bd34
--- /dev/null
+++ b/drivers/reset/reset-sunxi.c
@@ -0,0 +1,175 @@
@ -209,6 +204,3 @@ index 0000000..695bd34
+MODULE_AUTHOR("Maxime Ripard <maxime.ripard@free-electrons.com");
+MODULE_DESCRIPTION("Allwinner SoCs Reset Controller Driver");
+MODULE_LICENSE("GPL");
--
1.8.5.1

@ -12,8 +12,6 @@ Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
arch/arm/mach-sunxi/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
index c9e72c8..e3457b9 100644
--- a/arch/arm/mach-sunxi/Kconfig
+++ b/arch/arm/mach-sunxi/Kconfig
@@ -1,5 +1,6 @@
@ -23,6 +21,3 @@ index c9e72c8..e3457b9 100644
select ARCH_REQUIRE_GPIOLIB
select ARM_GIC
select CLKSRC_MMIO
--
1.8.5.1

@ -14,8 +14,6 @@ Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
arch/arm/mach-sunxi/sunxi.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
index 61d3a38..594ac48 100644
--- a/arch/arm/mach-sunxi/sunxi.c
+++ b/arch/arm/mach-sunxi/sunxi.c
@@ -10,6 +10,8 @@
@ -27,7 +25,7 @@ index 61d3a38..594ac48 100644
#include <linux/delay.h>
#include <linux/kernel.h>
#include <linux/init.h>
@@ -132,8 +134,17 @@ static void __init sunxi_dt_init(void)
@@ -132,8 +134,17 @@ static const char * const sun6i_board_dt
NULL,
};
@ -45,6 +43,3 @@ index 61d3a38..594ac48 100644
.dt_compat = sun6i_board_dt_compat,
.restart = sun6i_restart,
MACHINE_END
--
1.8.5.1

@ -19,16 +19,11 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
create mode 100644 arch/arm/mach-sunxi/headsmp.S
create mode 100644 arch/arm/mach-sunxi/platsmp.c
diff --git a/arch/arm/mach-sunxi/Makefile b/arch/arm/mach-sunxi/Makefile
index 93bebfc..d939720 100644
--- a/arch/arm/mach-sunxi/Makefile
+++ b/arch/arm/mach-sunxi/Makefile
@@ -1 +1,2 @@
obj-$(CONFIG_ARCH_SUNXI) += sunxi.o
+obj-$(CONFIG_SMP) += platsmp.o headsmp.o
diff --git a/arch/arm/mach-sunxi/common.h b/arch/arm/mach-sunxi/common.h
new file mode 100644
index 0000000..9e5ac47
--- /dev/null
+++ b/arch/arm/mach-sunxi/common.h
@@ -0,0 +1,19 @@
@ -51,9 +46,6 @@ index 0000000..9e5ac47
+extern struct smp_operations sun6i_smp_ops;
+
+#endif /* __ARCH_SUNXI_COMMON_H_ */
diff --git a/arch/arm/mach-sunxi/headsmp.S b/arch/arm/mach-sunxi/headsmp.S
new file mode 100644
index 0000000..a10d494
--- /dev/null
+++ b/arch/arm/mach-sunxi/headsmp.S
@@ -0,0 +1,9 @@
@ -66,9 +58,6 @@ index 0000000..a10d494
+ msr cpsr_fsxc, #0xd3
+ b secondary_startup
+ENDPROC(sun6i_secondary_startup)
diff --git a/arch/arm/mach-sunxi/platsmp.c b/arch/arm/mach-sunxi/platsmp.c
new file mode 100644
index 0000000..7b141d8
--- /dev/null
+++ b/arch/arm/mach-sunxi/platsmp.c
@@ -0,0 +1,124 @@
@ -196,8 +185,6 @@ index 0000000..7b141d8
+ .smp_prepare_cpus = sun6i_smp_prepare_cpus,
+ .smp_boot_secondary = sun6i_smp_boot_secondary,
+};
diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
index 594ac48..aeea6ce 100644
--- a/arch/arm/mach-sunxi/sunxi.c
+++ b/arch/arm/mach-sunxi/sunxi.c
@@ -25,6 +25,8 @@
@ -209,7 +196,7 @@ index 594ac48..aeea6ce 100644
#define SUN4I_WATCHDOG_CTRL_REG 0x00
#define SUN4I_WATCHDOG_CTRL_RESTART BIT(0)
#define SUN4I_WATCHDOG_MODE_REG 0x04
@@ -147,6 +149,7 @@ static void __init sun6i_timer_init(void)
@@ -147,6 +149,7 @@ DT_MACHINE_START(SUN6I_DT, "Allwinner su
.init_time = sun6i_timer_init,
.dt_compat = sun6i_board_dt_compat,
.restart = sun6i_restart,
@ -217,6 +204,3 @@ index 594ac48..aeea6ce 100644
MACHINE_END
static const char * const sun7i_board_dt_compat[] = {
--
1.8.5.1

@ -13,8 +13,6 @@ Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
arch/arm/boot/dts/sun6i-a31.dtsi | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
index 7f5878c..97966b0 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -212,6 +212,24 @@
@ -90,6 +88,3 @@ index 7f5878c..97966b0 100644
status = "disabled";
};
--
1.8.5.1

@ -16,11 +16,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clocksource/sun4i_timer.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clocksource/sun4i_timer.c b/drivers/clocksource/sun4i_timer.c
index a4f6119..db937e9 100644
--- a/drivers/clocksource/sun4i_timer.c
+++ b/drivers/clocksource/sun4i_timer.c
@@ -191,6 +191,7 @@ static void __init sun4i_timer_init(struct device_node *node)
@@ -191,6 +191,7 @@ static void __init sun4i_timer_init(stru
writel(val | TIMER_IRQ_EN(0), timer_base + TIMER_IRQ_EN_REG);
sun4i_clockevent.cpumask = cpumask_of(0);
@ -28,6 +26,3 @@ index a4f6119..db937e9 100644
clockevents_config_and_register(&sun4i_clockevent, rate,
TIMER_SYNC_TICKS, 0xffffffff);
--
1.8.5.1

@ -12,11 +12,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clocksource/sun4i_timer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clocksource/sun4i_timer.c b/drivers/clocksource/sun4i_timer.c
index db937e9..e1878eb 100644
--- a/drivers/clocksource/sun4i_timer.c
+++ b/drivers/clocksource/sun4i_timer.c
@@ -190,7 +190,7 @@ static void __init sun4i_timer_init(struct device_node *node)
@@ -190,7 +190,7 @@ static void __init sun4i_timer_init(stru
val = readl(timer_base + TIMER_IRQ_EN_REG);
writel(val | TIMER_IRQ_EN(0), timer_base + TIMER_IRQ_EN_REG);
@ -25,6 +23,3 @@ index db937e9..e1878eb 100644
sun4i_clockevent.irq = irq;
clockevents_config_and_register(&sun4i_clockevent, rate,
--
1.8.5.1

@ -19,11 +19,9 @@ Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
drivers/clocksource/sun4i_timer.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/clocksource/sun4i_timer.c b/drivers/clocksource/sun4i_timer.c
index e1878eb..a9b0b5b 100644
--- a/drivers/clocksource/sun4i_timer.c
+++ b/drivers/clocksource/sun4i_timer.c
@@ -114,7 +114,7 @@ static int sun4i_clkevt_next_event(unsigned long evt,
@@ -114,7 +114,7 @@ static int sun4i_clkevt_next_event(unsig
static struct clock_event_device sun4i_clockevent = {
.name = "sun4i_tick",
@ -32,7 +30,7 @@ index e1878eb..a9b0b5b 100644
.features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
.set_mode = sun4i_clkevt_mode,
.set_next_event = sun4i_clkevt_next_event,
@@ -172,7 +172,7 @@ static void __init sun4i_timer_init(struct device_node *node)
@@ -172,7 +172,7 @@ static void __init sun4i_timer_init(stru
setup_sched_clock(sun4i_timer_sched_read, 32, rate);
clocksource_mmio_init(timer_base + TIMER_CNTVAL_REG(1), node->name,
@ -41,6 +39,3 @@ index e1878eb..a9b0b5b 100644
ticks_per_jiffy = DIV_ROUND_UP(rate, HZ);
--
1.8.5.1

@ -18,8 +18,6 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/sunxi/clk-sunxi.c | 70 ++++++++++++++++++++++++++++++++++++++---
3 files changed, 76 insertions(+), 73 deletions(-)
diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c
index f05207a..9e23264 100644
--- a/drivers/clk/sunxi/clk-factors.c
+++ b/drivers/clk/sunxi/clk-factors.c
@@ -30,14 +30,6 @@
@ -37,7 +35,7 @@ index f05207a..9e23264 100644
#define to_clk_factors(_hw) container_of(_hw, struct clk_factors, hw)
#define SETMASK(len, pos) (((1U << (len)) - 1) << (pos))
@@ -120,61 +112,8 @@ static int clk_factors_set_rate(struct clk_hw *hw, unsigned long rate,
@@ -120,61 +112,8 @@ static int clk_factors_set_rate(struct c
return 0;
}
@ -100,8 +98,6 @@ index f05207a..9e23264 100644
-
- return clk;
-}
diff --git a/drivers/clk/sunxi/clk-factors.h b/drivers/clk/sunxi/clk-factors.h
index f49851c..02e1a43 100644
--- a/drivers/clk/sunxi/clk-factors.h
+++ b/drivers/clk/sunxi/clk-factors.h
@@ -17,11 +17,13 @@ struct clk_factors_config {
@ -125,8 +121,6 @@ index f49851c..02e1a43 100644
+
+extern const struct clk_ops clk_factors_ops;
#endif
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 492ef0e..7dc39a6 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -23,6 +23,9 @@
@ -139,7 +133,7 @@ index 492ef0e..7dc39a6 100644
/**
* sun4i_osc_clk_setup() - Setup function for gatable oscillator
*/
@@ -261,7 +264,11 @@ static void sun4i_get_apb1_factors(u32 *freq, u32 parent_rate,
@@ -261,7 +264,11 @@ static void sun4i_get_apb1_factors(u32 *
* sunxi_factors_clk_setup() - Setup function for factor clocks
*/
@ -151,7 +145,7 @@ index 492ef0e..7dc39a6 100644
struct clk_factors_config *table;
void (*getter) (u32 *rate, u32 parent_rate, u8 *n, u8 *k, u8 *m, u8 *p);
};
@@ -312,16 +319,71 @@ static void __init sunxi_factors_clk_setup(struct device_node *node,
@@ -312,16 +319,71 @@ static void __init sunxi_factors_clk_set
struct factors_data *data)
{
struct clk *clk;
@ -209,15 +203,15 @@ index 492ef0e..7dc39a6 100644
+ mux->lock = &clk_lock;
+ mux_hw = &mux->hw;
+ }
+
- clk = clk_register_factors(NULL, clk_name, parent, 0, reg,
- data->table, data->getter, &clk_lock);
+ /* set up factors properties */
+ factors->reg = reg;
+ factors->config = data->table;
+ factors->get_factors = data->getter;
+ factors->lock = &clk_lock;
- clk = clk_register_factors(NULL, clk_name, parent, 0, reg,
- data->table, data->getter, &clk_lock);
+
+ clk = clk_register_composite(NULL, clk_name,
+ parents, i,
+ mux_hw, &clk_mux_ops,
@ -227,6 +221,3 @@ index 492ef0e..7dc39a6 100644
if (!IS_ERR(clk)) {
of_clk_add_provider(node, of_clk_src_simple_get, clk);
--
1.8.5.1

@ -14,11 +14,9 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 7dc39a6..25ebba8 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -420,13 +420,14 @@ static void __init sunxi_mux_clk_setup(struct device_node *node,
@@ -420,13 +420,14 @@ static void __init sunxi_mux_clk_setup(s
{
struct clk *clk;
const char *clk_name = node->name;
@ -35,6 +33,3 @@ index 7dc39a6..25ebba8 100644
i++;
clk = clk_register_mux(NULL, clk_name, parents, i,
--
1.8.5.1

@ -17,11 +17,9 @@ Acked-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/sunxi/clk-sunxi.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
index 91a748f..b8c6cc4 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -7,7 +7,7 @@ This binding uses the common clock binding[1].
@@ -7,7 +7,7 @@ This binding uses the common clock bindi
Required properties:
- compatible : shall be one of the following:
"allwinner,sun4i-osc-clk" - for a gatable oscillator
@ -30,11 +28,9 @@ index 91a748f..b8c6cc4 100644
"allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A31
"allwinner,sun4i-cpu-clk" - for the CPU multiplexer clock
"allwinner,sun4i-axi-clk" - for the AXI clock
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 25ebba8..52f34ec 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -301,11 +301,13 @@ struct factors_data {
@@ -301,11 +301,13 @@ static struct clk_factors_config sun4i_a
};
static const struct factors_data sun4i_pll1_data __initconst = {
@ -48,6 +44,3 @@ index 25ebba8..52f34ec 100644
.table = &sun6i_a31_pll1_config,
.getter = sun6i_a31_get_pll1_factors,
};
--
1.8.5.1

@ -18,11 +18,9 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 7 +++++++
4 files changed, 28 insertions(+)
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 0bf70ee..1d6346c 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -70,6 +70,13 @@
@@ -66,6 +66,13 @@
clocks = <&osc24M>;
};
@ -36,11 +34,9 @@ index 0bf70ee..1d6346c 100644
/* dummy is 200M */
cpu: cpu@01c20054 {
#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
index 924a2c1..64d6d75 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -67,6 +67,13 @@
@@ -63,6 +63,13 @@
clocks = <&osc24M>;
};
@ -54,8 +50,6 @@ index 924a2c1..64d6d75 100644
/* dummy is 200M */
cpu: cpu@01c20054 {
#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 1ccd75d..2c355c8 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -67,6 +67,13 @@
@ -72,11 +66,9 @@ index 1ccd75d..2c355c8 100644
/* dummy is 200M */
cpu: cpu@01c20054 {
#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index c74147a..18144f0 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -66,6 +66,13 @@
@@ -62,6 +62,13 @@
clocks = <&osc24M>;
};
@ -90,6 +82,3 @@ index c74147a..18144f0 100644
/*
* This is a dummy clock, to be used as placeholder on
* other mux clocks when a specific parent clock is not
--
1.8.5.1

@ -16,11 +16,9 @@ Acked-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/sunxi/clk-sunxi.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 52f34ec..96ccb3c 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -317,8 +317,8 @@ struct factors_data {
@@ -317,8 +317,8 @@ static const struct factors_data sun4i_a
.getter = sun4i_get_apb1_factors,
};
@ -31,7 +29,7 @@ index 52f34ec..96ccb3c 100644
{
struct clk *clk;
struct clk_factors *factors;
@@ -340,14 +340,14 @@ static void __init sunxi_factors_clk_setup(struct device_node *node,
@@ -340,14 +340,14 @@ static void __init sunxi_factors_clk_set
factors = kzalloc(sizeof(struct clk_factors), GFP_KERNEL);
if (!factors)
@ -48,7 +46,7 @@ index 52f34ec..96ccb3c 100644
}
/* set up gate properties */
@@ -363,7 +363,7 @@ static void __init sunxi_factors_clk_setup(struct device_node *node,
@@ -363,7 +363,7 @@ static void __init sunxi_factors_clk_set
if (!mux) {
kfree(factors);
kfree(gate);
@ -57,7 +55,7 @@ index 52f34ec..96ccb3c 100644
}
/* set up gate properties */
@@ -384,13 +384,14 @@ static void __init sunxi_factors_clk_setup(struct device_node *node,
@@ -384,13 +384,14 @@ static void __init sunxi_factors_clk_set
parents, i,
mux_hw, &clk_mux_ops,
&factors->hw, &clk_factors_ops,
@ -74,6 +72,3 @@ index 52f34ec..96ccb3c 100644
}
--
1.8.5.1

@ -16,8 +16,6 @@ Acked-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/sunxi/clk-sunxi.c | 230 ++++++++++++++++++++++
2 files changed, 232 insertions(+)
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
index b8c6cc4..80b2a39 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -9,6 +9,8 @@ Required properties:
@ -29,11 +27,9 @@ index b8c6cc4..80b2a39 100644
"allwinner,sun4i-cpu-clk" - for the CPU multiplexer clock
"allwinner,sun4i-axi-clk" - for the AXI clock
"allwinner,sun4i-axi-gates-clk" - for the AXI gates
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 96ccb3c..649d7c3 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -218,6 +218,40 @@ static void sun6i_a31_get_pll1_factors(u32 *freq, u32 parent_rate,
@@ -218,6 +218,40 @@ static void sun6i_a31_get_pll1_factors(u
}
/**
@ -74,7 +70,7 @@ index 96ccb3c..649d7c3 100644
* sun4i_get_apb1_factors() - calculates m, p factors for APB1
* APB1 rate is calculated as follows
* rate = (parent_rate >> p) / (m + 1);
@@ -293,6 +327,13 @@ struct factors_data {
@@ -293,6 +327,13 @@ static struct clk_factors_config sun6i_a
.mwidth = 2,
};
@ -88,7 +84,7 @@ index 96ccb3c..649d7c3 100644
static struct clk_factors_config sun4i_apb1_config = {
.mshift = 0,
.mwidth = 5,
@@ -312,6 +353,12 @@ struct factors_data {
@@ -312,6 +353,12 @@ static const struct factors_data sun6i_a
.getter = sun6i_a31_get_pll1_factors,
};
@ -101,7 +97,7 @@ index 96ccb3c..649d7c3 100644
static const struct factors_data sun4i_apb1_data __initconst = {
.table = &sun4i_apb1_config,
.getter = sun4i_get_apb1_factors,
@@ -627,6 +674,179 @@ static void __init sunxi_gates_clk_setup(struct device_node *node,
@@ -627,6 +674,179 @@ static void __init sunxi_gates_clk_setup
of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
}
@ -281,7 +277,7 @@ index 96ccb3c..649d7c3 100644
/* Matches for factors clocks */
static const struct of_device_id clk_factors_match[] __initconst = {
{.compatible = "allwinner,sun4i-pll1-clk", .data = &sun4i_pll1_data,},
@@ -644,6 +864,13 @@ static void __init sunxi_gates_clk_setup(struct device_node *node,
@@ -644,6 +864,13 @@ static const struct of_device_id clk_div
{}
};
@ -295,7 +291,7 @@ index 96ccb3c..649d7c3 100644
/* Matches for mux clocks */
static const struct of_device_id clk_mux_match[] __initconst = {
{.compatible = "allwinner,sun4i-cpu-clk", .data = &sun4i_cpu_mux_data,},
@@ -721,6 +948,9 @@ static void __init sunxi_init_clocks(struct device_node *np)
@@ -721,6 +948,9 @@ static void __init sunxi_init_clocks(str
/* Register divider clocks */
of_sunxi_table_clock_setup(clk_div_match, sunxi_divider_clk_setup);
@ -305,6 +301,3 @@ index 96ccb3c..649d7c3 100644
/* Register mux clocks */
of_sunxi_table_clock_setup(clk_mux_match, sunxi_mux_clk_setup);
--
1.8.5.1

@ -18,11 +18,9 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 28 ++++++++++++++++------------
4 files changed, 67 insertions(+), 18 deletions(-)
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 1d6346c..07564e9e 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -77,6 +77,22 @@
@@ -73,6 +73,22 @@
clocks = <&osc24M>;
};
@ -45,7 +43,7 @@ index 1d6346c..07564e9e 100644
/* dummy is 200M */
cpu: cpu@01c20054 {
#clock-cells = <0>;
@@ -142,12 +158,11 @@
@@ -138,12 +154,11 @@
"apb0_ir1", "apb0_keypad";
};
@ -59,11 +57,9 @@ index 1d6346c..07564e9e 100644
};
apb1: apb1@01c20058 {
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
index 64d6d75..ca19362 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -74,6 +74,22 @@
@@ -70,6 +70,22 @@
clocks = <&osc24M>;
};
@ -86,7 +82,7 @@ index 64d6d75..ca19362 100644
/* dummy is 200M */
cpu: cpu@01c20054 {
#clock-cells = <0>;
@@ -134,12 +150,11 @@
@@ -130,12 +146,11 @@
"apb0_ir", "apb0_keypad";
};
@ -100,8 +96,6 @@ index 64d6d75..ca19362 100644
};
apb1: apb1@01c20058 {
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 2c355c8..9ac706a 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -74,6 +74,22 @@
@ -141,11 +135,9 @@ index 2c355c8..9ac706a 100644
};
apb1: apb1@01c20058 {
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 18144f0..9176ed0 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -73,23 +73,27 @@
@@ -69,23 +69,27 @@
clocks = <&osc24M>;
};
@ -184,7 +176,7 @@ index 18144f0..9176ed0 100644
};
axi: axi@01c20054 {
@@ -148,7 +152,7 @@
@@ -144,7 +148,7 @@
#clock-cells = <0>;
compatible = "allwinner,sun4i-apb1-mux-clk";
reg = <0x01c20058 0x4>;
@ -193,6 +185,3 @@ index 18144f0..9176ed0 100644
};
apb1: apb1@01c20058 {
--
1.8.5.1

@ -16,8 +16,6 @@ Acked-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/sunxi/clk-sunxi.c | 57 +++++++++++++++++++++++
2 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
index 80b2a39..46d8433 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -35,10 +35,13 @@ Required properties:
@ -35,11 +33,9 @@ index 80b2a39..46d8433 100644
- #clock-cells : from common clock binding; shall be set to 0 except for
"allwinner,*-gates-clk" where it shall be set to 1
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 649d7c3..af99b57 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -295,6 +295,47 @@ static void sun4i_get_apb1_factors(u32 *freq, u32 parent_rate,
@@ -295,6 +295,47 @@ static void sun4i_get_apb1_factors(u32 *
/**
@ -87,7 +83,7 @@ index 649d7c3..af99b57 100644
* sunxi_factors_clk_setup() - Setup function for factor clocks
*/
@@ -341,6 +382,14 @@ struct factors_data {
@@ -341,6 +382,14 @@ static struct clk_factors_config sun4i_a
.pwidth = 2,
};
@ -102,7 +98,7 @@ index 649d7c3..af99b57 100644
static const struct factors_data sun4i_pll1_data __initconst = {
.enable = 31,
.table = &sun4i_pll1_config,
@@ -364,6 +413,13 @@ struct factors_data {
@@ -364,6 +413,13 @@ static const struct factors_data sun4i_a
.getter = sun4i_get_apb1_factors,
};
@ -116,7 +112,7 @@ index 649d7c3..af99b57 100644
static struct clk * __init sunxi_factors_clk_setup(struct device_node *node,
const struct factors_data *data)
{
@@ -852,6 +908,7 @@ static void __init sunxi_divs_clk_setup(struct device_node *node,
@@ -852,6 +908,7 @@ static const struct of_device_id clk_fac
{.compatible = "allwinner,sun4i-pll1-clk", .data = &sun4i_pll1_data,},
{.compatible = "allwinner,sun6i-a31-pll1-clk", .data = &sun6i_a31_pll1_data,},
{.compatible = "allwinner,sun4i-apb1-clk", .data = &sun4i_apb1_data,},
@ -124,6 +120,3 @@ index 649d7c3..af99b57 100644
{}
};
--
1.8.5.1

@ -27,11 +27,9 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index af99b57..81d4c72 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -441,6 +441,15 @@ static struct clk * __init sunxi_factors_clk_setup(struct device_node *node,
@@ -441,6 +441,15 @@ static struct clk * __init sunxi_factors
(parents[i] = of_clk_get_parent_name(node, i)) != NULL)
i++;
@ -47,6 +45,3 @@ index af99b57..81d4c72 100644
factors = kzalloc(sizeof(struct clk_factors), GFP_KERNEL);
if (!factors)
return NULL;
--
1.8.5.1

@ -14,11 +14,9 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 120 +++++++++++++++++++++++++++++++++++++++
1 file changed, 120 insertions(+)
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 07564e9e..3ba2b46 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -184,6 +184,126 @@
@@ -180,6 +180,126 @@
"apb1_uart4", "apb1_uart5", "apb1_uart6",
"apb1_uart7";
};
@ -145,6 +143,3 @@ index 07564e9e..3ba2b46 100644
};
soc@01c00000 {
--
1.8.5.1

@ -17,11 +17,9 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 88 +++++++++++++++++++++++++++++++++++++++
2 files changed, 176 insertions(+)
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
index ca19362..96c7185 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -173,6 +173,94 @@
@@ -169,6 +169,94 @@
"apb1_i2c2", "apb1_uart0", "apb1_uart1",
"apb1_uart2", "apb1_uart3";
};
@ -116,8 +114,6 @@ index ca19362..96c7185 100644
};
soc@01c00000 {
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 9ac706a..e2505d6 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -170,6 +170,94 @@
@ -215,6 +211,3 @@ index 9ac706a..e2505d6 100644
};
soc@01c00000 {
--
1.8.5.1

@ -15,11 +15,9 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 120 +++++++++++++++++++++++++++++++++++++++
1 file changed, 120 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 9176ed0..f6ee631 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -174,6 +174,126 @@
@@ -170,6 +170,126 @@
"apb1_uart2", "apb1_uart3", "apb1_uart4",
"apb1_uart5", "apb1_uart6", "apb1_uart7";
};
@ -146,6 +144,3 @@ index 9176ed0..f6ee631 100644
};
soc@01c00000 {
--
1.8.5.1

@ -14,11 +14,9 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-factors.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c
index 9e23264..3806d97 100644
--- a/drivers/clk/sunxi/clk-factors.c
+++ b/drivers/clk/sunxi/clk-factors.c
@@ -77,6 +77,41 @@ static long clk_factors_round_rate(struct clk_hw *hw, unsigned long rate,
@@ -77,6 +77,41 @@ static long clk_factors_round_rate(struc
return rate;
}
@ -60,7 +58,7 @@ index 9e23264..3806d97 100644
static int clk_factors_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{
@@ -113,6 +148,7 @@ static int clk_factors_set_rate(struct clk_hw *hw, unsigned long rate,
@@ -113,6 +148,7 @@ static int clk_factors_set_rate(struct c
}
const struct clk_ops clk_factors_ops = {
@ -68,6 +66,3 @@ index 9e23264..3806d97 100644
.recalc_rate = clk_factors_recalc_rate,
.round_rate = clk_factors_round_rate,
.set_rate = clk_factors_set_rate,
--
1.8.5.1

@ -15,8 +15,6 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 37 +++++++++++++++++++++++
2 files changed, 38 insertions(+)
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
index e840cb2..941bd93 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -15,6 +15,7 @@ Required properties:
@ -27,11 +25,9 @@ index e840cb2..941bd93 100644
"allwinner,sun4i-ahb-gates-clk" - for the AHB gates on A10
"allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13
"allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index ea3edeb..625089b 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -249,7 +249,32 @@ static void sun4i_get_pll5_factors(u32 *freq, u32 parent_rate,
@@ -249,7 +249,32 @@ static void sun4i_get_pll5_factors(u32 *
*n = DIV_ROUND_UP(div, (*k+1));
}
@ -40,7 +36,7 @@ index ea3edeb..625089b 100644
+ * AHB rate is calculated as follows
+ * rate = parent_rate >> p
+ */
+
+static void sun5i_a13_get_ahb_factors(u32 *freq, u32 parent_rate,
+ u8 *n, u8 *k, u8 *m, u8 *p)
+{
@ -58,13 +54,13 @@ index ea3edeb..625089b 100644
+ /* we were called to round the frequency, we can now return */
+ if (n == NULL)
+ return;
+
+ *p = div;
+}
/**
* sun4i_get_apb1_factors() - calculates m, p factors for APB1
@@ -375,6 +400,11 @@ struct factors_data {
@@ -375,6 +400,11 @@ static struct clk_factors_config sun4i_p
.kwidth = 2,
};
@ -76,7 +72,7 @@ index ea3edeb..625089b 100644
static struct clk_factors_config sun4i_apb1_config = {
.mshift = 0,
.mwidth = 5,
@@ -408,6 +438,12 @@ struct factors_data {
@@ -408,6 +438,12 @@ static const struct factors_data sun4i_p
.getter = sun4i_get_pll5_factors,
};
@ -87,9 +83,9 @@ index ea3edeb..625089b 100644
+};
+
static const struct factors_data sun4i_apb1_data __initconst = {
.mux = 24,
.table = &sun4i_apb1_config,
@@ -913,6 +949,7 @@ static void __init sunxi_divs_clk_setup(struct device_node *node,
.getter = sun4i_get_apb1_factors,
@@ -916,6 +952,7 @@ free_clkdata:
static const struct of_device_id clk_factors_match[] __initconst = {
{.compatible = "allwinner,sun4i-pll1-clk", .data = &sun4i_pll1_data,},
{.compatible = "allwinner,sun6i-a31-pll1-clk", .data = &sun6i_a31_pll1_data,},
@ -97,6 +93,3 @@ index ea3edeb..625089b 100644
{.compatible = "allwinner,sun4i-apb1-clk", .data = &sun4i_apb1_data,},
{.compatible = "allwinner,sun4i-mod0-clk", .data = &sun4i_mod0_data,},
{}
--
1.8.5.1

@ -16,11 +16,9 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
arch/arm/boot/dts/sun7i-a20.dtsi | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
index fd3acbd..c42ed2a 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -115,9 +115,9 @@
@@ -111,9 +111,9 @@
ahb: ahb@01c20054 {
#clock-cells = <0>;
@ -32,8 +30,6 @@ index fd3acbd..c42ed2a 100644
};
ahb_gates: ahb_gates@01c20060 {
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 9d40bb4..8274a41 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -115,9 +115,9 @@
@ -48,11 +44,9 @@ index 9d40bb4..8274a41 100644
};
ahb_gates: ahb_gates@01c20060 {
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index ec13310..8819c68 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -105,9 +105,9 @@
@@ -101,9 +101,9 @@
ahb: ahb@01c20054 {
#clock-cells = <0>;
@ -64,6 +58,3 @@ index ec13310..8819c68 100644
};
ahb_gates: ahb_gates@01c20060 {
--
1.8.5.1

@ -15,11 +15,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/regulator/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index d85f313..9888f26 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1351,7 +1351,8 @@ static struct regulator *_regulator_get(struct device *dev, const char *id,
@@ -1351,7 +1351,8 @@ static struct regulator *_regulator_get(
rdev = dummy_regulator_rdev;
goto found;
@ -29,6 +27,3 @@ index d85f313..9888f26 100644
dev_err(dev, "dummy supplies not allowed\n");
}
--
1.8.5.1

@ -11,8 +11,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun6i-a31.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
index 97966b0..5256ad9 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -322,5 +322,15 @@
@ -31,6 +29,3 @@ index 97966b0..5256ad9 100644
+ };
};
};
--
1.8.5.1

@ -17,11 +17,9 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 8 ++++++++
3 files changed, 24 insertions(+)
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
index 96c7185..78360b3 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -261,6 +261,14 @@
@@ -257,6 +257,14 @@
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "ir0";
};
@ -36,8 +34,6 @@ index 96c7185..78360b3 100644
};
soc@01c00000 {
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index e2505d6..2f37ca5 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -258,6 +258,14 @@
@ -55,11 +51,9 @@ index e2505d6..2f37ca5 100644
};
soc@01c00000 {
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index f6ee631..4c25f81 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -294,6 +294,14 @@
@@ -290,6 +290,14 @@
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "spi3";
};
@ -74,6 +68,3 @@ index f6ee631..4c25f81 100644
};
soc@01c00000 {
--
1.8.5.1

@ -19,8 +19,6 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
arch/arm/boot/dts/sun7i-a20.dtsi | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index f11f292..0bf70ee 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -15,6 +15,10 @@
@ -34,8 +32,6 @@ index f11f292..0bf70ee 100644
cpus {
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
index 5247674..b4764be 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -16,6 +16,10 @@
@ -49,8 +45,6 @@ index 5247674..b4764be 100644
cpus {
cpu@0 {
compatible = "arm,cortex-a8";
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index cc3683c..93f7f96 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -16,6 +16,10 @@
@ -64,6 +58,3 @@ index cc3683c..93f7f96 100644
cpus {
#address-cells = <1>;
#size-cells = <0>;
--
1.8.5.1

@ -12,8 +12,6 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index a0d6ef7..d718f65 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -17,7 +17,7 @@
@ -25,6 +23,3 @@ index a0d6ef7..d718f65 100644
};
cpus {
--
1.8.5.1

@ -14,11 +14,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index d718f65..c9c123a 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -297,6 +297,14 @@
@@ -304,6 +304,14 @@
};
};
@ -33,6 +31,3 @@ index d718f65..c9c123a 100644
soc@01c00000 {
compatible = "simple-bus";
#address-cells = <1>;
--
1.8.5.1

@ -25,8 +25,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2 files changed, 69 insertions(+)
create mode 100644 arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d57c1a6..b663ed7 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -255,6 +255,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
@ -37,9 +35,6 @@ index d57c1a6..b663ed7 100644
sun6i-a31-colombus.dtb \
sun7i-a20-cubieboard2.dtb \
sun7i-a20-cubietruck.dtb \
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
new file mode 100644
index 0000000..fe2ce0a
--- /dev/null
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
@@ -0,0 +1,68 @@
@ -111,6 +106,3 @@ index 0000000..fe2ce0a
+ };
+ };
+};
--
1.8.5.1

@ -16,11 +16,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
3 files changed, 531 insertions(+)
create mode 100644 drivers/rtc/rtc-sunxi.c
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 0077302..c2fa86c 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -1104,6 +1104,13 @@ config RTC_DRV_SUN4V
@@ -1122,6 +1122,13 @@ config RTC_DRV_SUN4V
If you say Y here you will get support for the Hypervisor
based RTC on SUN4V systems.
@ -34,11 +32,9 @@ index 0077302..c2fa86c 100644
config RTC_DRV_STARFIRE
bool "Starfire RTC"
depends on SPARC64
diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
index 27b4bd8..63f3e99 100644
--- a/drivers/rtc/Makefile
+++ b/drivers/rtc/Makefile
@@ -117,6 +117,7 @@ obj-$(CONFIG_RTC_DRV_STARFIRE) += rtc-starfire.o
@@ -119,6 +119,7 @@ obj-$(CONFIG_RTC_DRV_STARFIRE) += rtc-st
obj-$(CONFIG_RTC_DRV_STK17TA8) += rtc-stk17ta8.o
obj-$(CONFIG_RTC_DRV_STMP) += rtc-stmp3xxx.o
obj-$(CONFIG_RTC_DRV_SUN4V) += rtc-sun4v.o
@ -46,9 +42,6 @@ index 27b4bd8..63f3e99 100644
obj-$(CONFIG_RTC_DRV_TEGRA) += rtc-tegra.o
obj-$(CONFIG_RTC_DRV_TEST) += rtc-test.o
obj-$(CONFIG_RTC_DRV_TILE) += rtc-tile.o
diff --git a/drivers/rtc/rtc-sunxi.c b/drivers/rtc/rtc-sunxi.c
new file mode 100644
index 0000000..68a3528
--- /dev/null
+++ b/drivers/rtc/rtc-sunxi.c
@@ -0,0 +1,523 @@
@ -575,6 +568,3 @@ index 0000000..68a3528
+MODULE_DESCRIPTION("sunxi RTC driver");
+MODULE_AUTHOR("Carlo Caione <carlo.caione@gmail.com>");
+MODULE_LICENSE("GPL");
--
1.8.5.1

@ -12,11 +12,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 6 ++++++
2 files changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 319cc6b..f11f292 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -266,6 +266,12 @@
@@ -412,6 +412,12 @@
reg = <0x01c20c90 0x10>;
};
@ -29,11 +27,9 @@ index 319cc6b..f11f292 100644
sid: eeprom@01c23800 {
compatible = "allwinner,sun4i-sid";
reg = <0x01c23800 0x10>;
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 367611a..cc3683c 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -265,6 +265,12 @@
@@ -416,6 +416,12 @@
reg = <0x01c20c90 0x10>;
};
@ -46,6 +42,3 @@ index 367611a..cc3683c 100644
sid: eeprom@01c23800 {
compatible = "allwinner,sun7i-a20-sid";
reg = <0x01c23800 0x200>;
--
1.8.5.1

@ -30,9 +30,6 @@ Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
create mode 100644 Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt
create mode 100644 drivers/clocksource/timer-sun5i.c
diff --git a/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt b/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt
new file mode 100644
index 0000000..7c26154
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt
@@ -0,0 +1,22 @@
@ -58,8 +55,6 @@ index 0000000..7c26154
+ <0 54 1>;
+ clocks = <&ahb1_gates 19>;
+};
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
index e3457b9..547004c 100644
--- a/arch/arm/mach-sunxi/Kconfig
+++ b/arch/arm/mach-sunxi/Kconfig
@@ -13,3 +13,4 @@ config ARCH_SUNXI
@ -67,8 +62,6 @@ index e3457b9..547004c 100644
select SPARSE_IRQ
select SUN4I_TIMER
+ select SUN5I_HSTIMER
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index 634c4d6..cd6950f 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -37,6 +37,10 @@ config SUN4I_TIMER
@ -82,11 +75,9 @@ index 634c4d6..cd6950f 100644
config VT8500_TIMER
bool
diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile
index 33621ef..358358d 100644
--- a/drivers/clocksource/Makefile
+++ b/drivers/clocksource/Makefile
@@ -22,6 +22,7 @@ obj-$(CONFIG_ARCH_MOXART) += moxart_timer.o
@@ -22,6 +22,7 @@ obj-$(CONFIG_ARCH_MOXART) += moxart_time
obj-$(CONFIG_ARCH_MXS) += mxs_timer.o
obj-$(CONFIG_ARCH_PRIMA2) += timer-prima2.o
obj-$(CONFIG_SUN4I_TIMER) += sun4i_timer.o
@ -94,9 +85,6 @@ index 33621ef..358358d 100644
obj-$(CONFIG_ARCH_TEGRA) += tegra20_timer.o
obj-$(CONFIG_VT8500_TIMER) += vt8500_timer.o
obj-$(CONFIG_ARCH_NSPIRE) += zevio-timer.o
diff --git a/drivers/clocksource/timer-sun5i.c b/drivers/clocksource/timer-sun5i.c
new file mode 100644
index 0000000..bddc522
--- /dev/null
+++ b/drivers/clocksource/timer-sun5i.c
@@ -0,0 +1,192 @@
@ -292,6 +280,3 @@ index 0000000..bddc522
+ sun5i_timer_init);
+CLOCKSOURCE_OF_DECLARE(sun7i_a20, "allwinner,sun7i-a20-hstimer",
+ sun5i_timer_init);
--
1.8.5.1

@ -16,11 +16,9 @@ Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
arch/arm/boot/dts/sun5i-a10s.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
index b4764be..924a2c1 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -336,5 +336,12 @@
@@ -454,5 +454,12 @@
clock-frequency = <100000>;
status = "disabled";
};
@ -33,6 +31,3 @@ index b4764be..924a2c1 100644
+ };
};
};
--
1.8.5.1

@ -16,11 +16,9 @@ Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
arch/arm/boot/dts/sun5i-a13.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index ce8ef2a..1ccd75d 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -273,5 +273,12 @@
@@ -391,5 +391,12 @@
clock-frequency = <100000>;
status = "disabled";
};
@ -33,6 +31,3 @@ index ce8ef2a..1ccd75d 100644
+ };
};
};
--
1.8.5.1

@ -22,11 +22,9 @@ Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 93f7f96..c74147a 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -405,6 +405,16 @@
@@ -552,6 +552,16 @@
status = "disabled";
};
@ -43,6 +41,3 @@ index 93f7f96..c74147a 100644
gic: interrupt-controller@01c81000 {
compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
reg = <0x01c81000 0x1000>,
--
1.8.5.1

@ -15,8 +15,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun6i-a31.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
index ab6ea43..4b97449 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -312,6 +312,17 @@
@ -37,6 +35,3 @@ index ab6ea43..4b97449 100644
gic: interrupt-controller@01c81000 {
compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
reg = <0x01c81000 0x1000>,
--
1.8.5.1

@ -11,11 +11,9 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 625089b..6d3286a 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -361,6 +361,41 @@ static void sun4i_get_mod0_factors(u32 *freq, u32 parent_rate,
@@ -361,6 +361,41 @@ static void sun4i_get_mod0_factors(u32 *
/**
@ -57,6 +55,3 @@ index 625089b..6d3286a 100644
* sunxi_factors_clk_setup() - Setup function for factor clocks
*/
--
1.8.5.1

@ -9,9 +9,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
1 file changed, 22 insertions(+)
create mode 100644 include/linux/clk/sunxi.h
diff --git a/include/linux/clk/sunxi.h b/include/linux/clk/sunxi.h
new file mode 100644
index 0000000..1ef5c89
--- /dev/null
+++ b/include/linux/clk/sunxi.h
@@ -0,0 +1,22 @@
@ -37,6 +34,3 @@ index 0000000..1ef5c89
+void clk_sunxi_mmc_phase_control(struct clk_hw *hw, u8 sample, u8 output);
+
+#endif
--
1.8.5.1

@ -13,11 +13,9 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/pinctrl/pinctrl-sunxi-pins.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-sunxi-pins.h b/drivers/pinctrl/pinctrl-sunxi-pins.h
index 2c7446a..7c1b05e 100644
--- a/drivers/pinctrl/pinctrl-sunxi-pins.h
+++ b/drivers/pinctrl/pinctrl-sunxi-pins.h
@@ -1932,27 +1932,27 @@
@@ -1932,27 +1932,27 @@ static const struct sunxi_desc_pin sun5i
SUNXI_PIN(SUNXI_PINCTRL_PIN_PF0,
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
@ -51,6 +49,3 @@ index 2c7446a..7c1b05e 100644
/* Hole */
SUNXI_PIN(SUNXI_PINCTRL_PIN_PG0,
SUNXI_FUNCTION(0x0, "gpio_in"),
--
1.8.5.1

@ -14,11 +14,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
create mode 100644 drivers/mmc/host/sunxi-mci.c
create mode 100644 drivers/mmc/host/sunxi-mci.h
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index 7fc5099..0df0322 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -665,3 +665,11 @@ config MMC_REALTEK_PCI
@@ -690,3 +690,11 @@ config MMC_REALTEK_PCI
help
Say Y here to include driver code to support SD/MMC card interface
of Realtek PCI-E card reader
@ -30,11 +28,9 @@ index 7fc5099..0df0322 100644
+ help
+ This selects support for the SD/MMC Host Controller on
+ Allwinner A1X based SoCs.
diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
index c41d0c3..f76f783 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
@@ -52,6 +52,8 @@ obj-$(CONFIG_MMC_WMT) += wmt-sdmmc.o
@@ -53,6 +53,8 @@ obj-$(CONFIG_MMC_WMT) += wmt-sdmmc.o
obj-$(CONFIG_MMC_REALTEK_PCI) += rtsx_pci_sdmmc.o
@ -43,13 +39,3 @@ index c41d0c3..f76f783 100644
obj-$(CONFIG_MMC_SDHCI_PLTFM) += sdhci-pltfm.o
obj-$(CONFIG_MMC_SDHCI_CNS3XXX) += sdhci-cns3xxx.o
obj-$(CONFIG_MMC_SDHCI_ESDHC_IMX) += sdhci-esdhc-imx.o
diff --git a/drivers/mmc/host/sunxi-mci.c b/drivers/mmc/host/sunxi-mci.c
new file mode 100644
index 0000000..cbde1d3
diff --git a/drivers/mmc/host/sunxi-mci.h b/drivers/mmc/host/sunxi-mci.h
new file mode 100644
index 0000000..0f5f95c
\ No newline at end of file
--
1.8.5.1

@ -10,8 +10,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 17 +++++++++++++++++
3 files changed, 49 insertions(+)
diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
index eb4d73b..aef8207 100644
--- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
+++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
@@ -39,7 +39,23 @@
@ -38,8 +36,6 @@ index eb4d73b..aef8207 100644
emac_power_pin_a1000: emac_power_pin@0 {
allwinner,pins = "PH15";
allwinner,function = "gpio_out";
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
index 425a7db..f50fb2b 100644
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
@@ -42,7 +42,23 @@
@ -66,11 +62,9 @@ index 425a7db..f50fb2b 100644
led_pins_cubieboard: led_pins@0 {
allwinner,pins = "PH20", "PH21";
allwinner,function = "gpio_out";
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 9779c6b..4736dd2 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -321,6 +321,16 @@
@@ -328,6 +328,16 @@
#size-cells = <0>;
};
@ -87,7 +81,7 @@ index 9779c6b..4736dd2 100644
intc: interrupt-controller@01c20400 {
compatible = "allwinner,sun4i-ic";
reg = <0x01c20400 0x400>;
@@ -391,6 +401,13 @@
@@ -398,6 +408,13 @@
allwinner,drive = <0>;
allwinner,pull = <0>;
};
@ -101,6 +95,3 @@ index 9779c6b..4736dd2 100644
};
timer@01c20c00 {
--
1.8.5.1

@ -12,8 +12,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 17 ++++++++++++
5 files changed, 115 insertions(+)
diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
index 3c9f8b3..e47a731 100644
--- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
@@ -34,7 +34,39 @@
@ -56,11 +54,9 @@ index 3c9f8b3..e47a731 100644
led_pins_olinuxino: led_pins@0 {
allwinner,pins = "PE3";
allwinner,function = "gpio_out";
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
index c42ed2a..c3bb9bd 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -286,6 +286,26 @@
@@ -293,6 +293,26 @@
#size-cells = <0>;
};
@ -87,7 +83,7 @@ index c42ed2a..c3bb9bd 100644
intc: interrupt-controller@01c20400 {
compatible = "allwinner,sun4i-ic";
reg = <0x01c20400 0x400>;
@@ -356,6 +376,20 @@
@@ -363,6 +383,20 @@
allwinner,drive = <0>;
allwinner,pull = <0>;
};
@ -108,8 +104,6 @@ index c42ed2a..c3bb9bd 100644
};
timer@01c20c00 {
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
index fe2ce0a..37ec3d9 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
@@ -20,7 +20,23 @@
@ -136,8 +130,6 @@ index fe2ce0a..37ec3d9 100644
led_pins_olinuxinom: led_pins@0 {
allwinner,pins = "PG9";
allwinner,function = "gpio_out";
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
index 9e508dc..cf77d9a 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
@@ -23,7 +23,23 @@
@ -164,11 +156,9 @@ index 9e508dc..cf77d9a 100644
led_pins_olinuxino: led_pins@0 {
allwinner,pins = "PG9";
allwinner,function = "gpio_out";
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 8274a41..2dde48a 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -267,6 +267,16 @@
@@ -274,6 +274,16 @@
#size-cells = <1>;
ranges;
@ -185,7 +175,7 @@ index 8274a41..2dde48a 100644
intc: interrupt-controller@01c20400 {
compatible = "allwinner,sun4i-ic";
reg = <0x01c20400 0x400>;
@@ -319,6 +329,13 @@
@@ -326,6 +336,13 @@
allwinner,drive = <0>;
allwinner,pull = <0>;
};
@ -199,6 +189,3 @@ index 8274a41..2dde48a 100644
};
timer@01c20c00 {
--
1.8.5.1

@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 34 +++++++++++++++++++++++++
4 files changed, 98 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
index 5c51cb8..d28e600 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -34,7 +34,23 @@
@ -39,10 +37,6 @@ index 5c51cb8..d28e600 100644
led_pins_cubieboard2: led_pins@0 {
allwinner,pins = "PH20", "PH21";
allwinner,function = "gpio_out";
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
index 8a1009d..7ee628a 100644
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
index ead3013..d377696 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -34,7 +34,39 @@
@ -85,11 +79,9 @@ index ead3013..d377696 100644
led_pins_olinuxino: led_pins@0 {
allwinner,pins = "PH2";
allwinner,function = "gpio_out";
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 8819c68..0c1d363 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -319,6 +319,26 @@
@@ -334,6 +334,26 @@
#size-cells = <0>;
};
@ -116,7 +108,7 @@ index 8819c68..0c1d363 100644
pio: pinctrl@01c20800 {
compatible = "allwinner,sun7i-a20-pinctrl";
reg = <0x01c20800 0x400>;
@@ -382,6 +402,20 @@
@@ -397,6 +417,20 @@
allwinner,drive = <0>;
allwinner,pull = <0>;
};
@ -137,6 +129,3 @@ index 8819c68..0c1d363 100644
};
timer@01c20c00 {
--
1.8.5.1

@ -1,7 +1,6 @@
diff -ruN old/drivers/mmc/host/sunxi-mci.c new/drivers/mmc/host/sunxi-mci.c
--- old/drivers/mmc/host/sunxi-mci.c 2014-01-22 23:41:25.000000000 +0100
+++ new/drivers/mmc/host/sunxi-mci.c 2014-01-28 16:55:24.000000000 +0100
@@ -715,8 +715,8 @@
--- a/drivers/mmc/host/sunxi-mci.c
+++ b/drivers/mmc/host/sunxi-mci.c
@@ -715,8 +715,8 @@ static void sunxi_mmc_request(struct mmc
}
static const struct of_device_id sunxi_mmc_of_match[] = {
@ -12,7 +11,7 @@ diff -ruN old/drivers/mmc/host/sunxi-mci.c new/drivers/mmc/host/sunxi-mci.c
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, sunxi_mmc_of_match);
@@ -736,7 +736,7 @@
@@ -736,7 +736,7 @@ static int sunxi_mmc_resource_request(st
struct device_node *np = pdev->dev.of_node;
int ret;

@ -18,8 +18,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/ata/libahci.c | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index 2289efd..1bba479 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -323,6 +323,8 @@ struct ahci_host_priv {
@ -31,11 +29,9 @@ index 2289efd..1bba479 100644
};
extern int ahci_ignore_sss;
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index c482f8c..780e9df 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -568,8 +568,12 @@ static int ahci_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val)
@@ -568,8 +568,12 @@ static int ahci_scr_write(struct ata_lin
void ahci_start_engine(struct ata_port *ap)
{
void __iomem *port_mmio = ahci_port_base(ap);
@ -48,6 +44,3 @@ index c482f8c..780e9df 100644
/* start DMA */
tmp = readl(port_mmio + PORT_CMD);
tmp |= PORT_CMD_START;
--
1.8.5.1

@ -27,9 +27,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
create mode 100644 Documentation/devicetree/bindings/ata/ahci-sunxi.txt
create mode 100644 drivers/ata/ahci_sunxi.c
diff --git a/Documentation/devicetree/bindings/ata/ahci-sunxi.txt b/Documentation/devicetree/bindings/ata/ahci-sunxi.txt
new file mode 100644
index 0000000..0792fa5
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/ahci-sunxi.txt
@@ -0,0 +1,24 @@
@ -57,8 +54,6 @@ index 0000000..0792fa5
+ clock-names = "ahb_sata", "pll6_sata";
+ pwr-supply = <&reg_ahci_5v>;
+ };
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index 4e73772..3c80bbe 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -106,6 +106,15 @@ config AHCI_IMX
@ -77,8 +72,6 @@ index 4e73772..3c80bbe 100644
config SATA_FSL
tristate "Freescale 3.0Gbps SATA support"
depends on FSL_SOC
diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile
index 46518c6..956abc3 100644
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
@@ -11,6 +11,7 @@ obj-$(CONFIG_SATA_SIL24) += sata_sil24.o
@ -89,9 +82,6 @@ index 46518c6..956abc3 100644
# SFF w/ custom DMA
obj-$(CONFIG_PDC_ADMA) += pdc_adma.o
diff --git a/drivers/ata/ahci_sunxi.c b/drivers/ata/ahci_sunxi.c
new file mode 100644
index 0000000..22d3972
--- /dev/null
+++ b/drivers/ata/ahci_sunxi.c
@@ -0,0 +1,349 @@
@ -444,6 +434,3 @@ index 0000000..22d3972
+MODULE_DESCRIPTION("Allwinner sunxi AHCI SATA platform driver");
+MODULE_AUTHOR("Olliver Schinagl <oliver@schinagl.nl>");
+MODULE_LICENSE("GPL");
--
1.8.5.1

@ -15,8 +15,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 9 +++++++++
3 files changed, 40 insertions(+)
diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
index aef8207..fd6d512 100644
--- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
+++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
@@ -48,6 +48,10 @@
@ -30,8 +28,6 @@ index aef8207..fd6d512 100644
pinctrl@01c20800 {
mmc0_cd_pin_a1000: mmc0_cd_pin@0 {
allwinner,pins = "PH1";
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
index f50fb2b..53ac453 100644
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
@@ -51,7 +51,19 @@
@ -74,11 +70,9 @@ index f50fb2b..53ac453 100644
+ };
+ };
};
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 4736dd2..731b491 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -331,6 +331,15 @@
@@ -338,6 +338,15 @@
status = "disabled";
};
@ -94,6 +88,3 @@ index 4736dd2..731b491 100644
intc: interrupt-controller@01c20400 {
compatible = "allwinner,sun4i-ic";
reg = <0x01c20400 0x400>;
--
1.8.5.1

@ -16,11 +16,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 9 +++++++++
4 files changed, 89 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
index 48777cd..a26711c 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -28,7 +28,19 @@
@@ -43,7 +43,19 @@
status = "okay";
};
@ -40,7 +38,7 @@ index 48777cd..a26711c 100644
mmc0_cd_pin_cubieboard2: mmc0_cd_pin@0 {
allwinner,pins = "PH1";
allwinner,function = "gpio_in";
@@ -86,4 +98,19 @@
@@ -93,4 +105,19 @@
gpios = <&pio 7 20 0>;
};
};
@ -60,11 +58,9 @@ index 48777cd..a26711c 100644
+ };
+ };
};
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
index 2684f27..a5f3418 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -28,6 +28,11 @@
@@ -43,6 +43,11 @@
status = "okay";
};
@ -76,7 +72,7 @@ index 2684f27..a5f3418 100644
pinctrl@01c20800 {
mmc0_cd_pin_cubietruck: mmc0_cd_pin@0 {
allwinner,pins = "PH1";
@@ -36,6 +41,13 @@
@@ -58,6 +63,13 @@
allwinner,pull = <0>;
};
@ -90,8 +86,8 @@ index 2684f27..a5f3418 100644
led_pins_cubietruck: led_pins@0 {
allwinner,pins = "PH7", "PH11", "PH20", "PH21";
allwinner,function = "gpio_out";
@@ -84,4 +96,19 @@
gpios = <&pio 7 7 0>;
@@ -149,4 +161,19 @@
gpio = <&pio 7 3 0>;
};
};
+
@ -110,11 +106,9 @@ index 2684f27..a5f3418 100644
+ };
+ };
};
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
index bf6f6c8..20b1000 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -37,7 +37,19 @@
@@ -52,7 +52,19 @@
status = "okay";
};
@ -134,7 +128,7 @@ index bf6f6c8..20b1000 100644
mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
allwinner,pins = "PH1";
allwinner,function = "gpio_in";
@@ -116,4 +128,18 @@
@@ -123,4 +135,18 @@
default-state = "on";
};
};
@ -153,11 +147,9 @@ index bf6f6c8..20b1000 100644
+ };
+ };
};
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index c9c123a..3242a29 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -448,6 +448,15 @@
@@ -433,6 +433,15 @@
};
};
@ -173,6 +165,3 @@ index c9c123a..3242a29 100644
timer@01c20c00 {
compatible = "allwinner,sun4i-timer";
reg = <0x01c20c00 0x90>;
--
1.8.5.1

@ -8,11 +8,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/clk/sunxi/clk-sunxi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 6d3286a..573ef28 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -702,6 +702,10 @@ struct gates_data {
@@ -705,6 +705,10 @@ static const struct gates_data sun4i_ahb
.mask = {0x7F77FFF, 0x14FB3F},
};
@ -23,7 +21,7 @@ index 6d3286a..573ef28 100644
static const struct gates_data sun5i_a10s_ahb_gates_data __initconst = {
.mask = {0x147667e7, 0x185915},
};
@@ -1017,6 +1021,7 @@ static void __init sunxi_divs_clk_setup(struct device_node *node,
@@ -1021,6 +1025,7 @@ static const struct of_device_id clk_mux
static const struct of_device_id clk_gates_match[] __initconst = {
{.compatible = "allwinner,sun4i-axi-gates-clk", .data = &sun4i_axi_gates_data,},
{.compatible = "allwinner,sun4i-ahb-gates-clk", .data = &sun4i_ahb_gates_data,},
@ -31,6 +29,3 @@ index 6d3286a..573ef28 100644
{.compatible = "allwinner,sun5i-a10s-ahb-gates-clk", .data = &sun5i_a10s_ahb_gates_data,},
{.compatible = "allwinner,sun5i-a13-ahb-gates-clk", .data = &sun5i_a13_ahb_gates_data,},
{.compatible = "allwinner,sun6i-a31-ahb1-gates-clk", .data = &sun6i_a31_ahb1_gates_data,},
--
1.8.5.1

@ -8,11 +8,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/clk/sunxi/clk-sunxi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 573ef28..8a07a68 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -706,6 +706,10 @@ struct gates_data {
@@ -709,6 +709,10 @@ static const struct gates_data sun47i_us
.mask = {0x1C0},
};
@ -23,7 +21,7 @@ index 573ef28..8a07a68 100644
static const struct gates_data sun5i_a10s_ahb_gates_data __initconst = {
.mask = {0x147667e7, 0x185915},
};
@@ -1024,6 +1028,7 @@ static void __init sunxi_divs_clk_setup(struct device_node *node,
@@ -1028,6 +1032,7 @@ static const struct of_device_id clk_gat
{.compatible = "allwinner,sun47i-usb-gates-clk", .data = &sun47i_usb_gates_data,},
{.compatible = "allwinner,sun5i-a10s-ahb-gates-clk", .data = &sun5i_a10s_ahb_gates_data,},
{.compatible = "allwinner,sun5i-a13-ahb-gates-clk", .data = &sun5i_a13_ahb_gates_data,},
@ -31,6 +29,3 @@ index 573ef28..8a07a68 100644
{.compatible = "allwinner,sun6i-a31-ahb1-gates-clk", .data = &sun6i_a31_ahb1_gates_data,},
{.compatible = "allwinner,sun7i-a20-ahb-gates-clk", .data = &sun7i_a20_ahb_gates_data,},
{.compatible = "allwinner,sun4i-apb0-gates-clk", .data = &sun4i_apb0_gates_data,},
--
1.8.5.1

@ -14,8 +14,6 @@ Conflicts:
3 files changed, 456 insertions(+)
create mode 100644 drivers/usb/host/ehci-sunxi.c
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index a9707da..db94dba 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -273,6 +273,15 @@ config USB_OCTEON_EHCI
@ -34,11 +32,9 @@ index a9707da..db94dba 100644
endif # USB_EHCI_HCD
config USB_OXU210HP_HCD
diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
index 01e879e..d96053d 100644
--- a/drivers/usb/host/Makefile
+++ b/drivers/usb/host/Makefile
@@ -39,6 +39,7 @@ obj-$(CONFIG_USB_EHCI_HCD_AT91) += ehci-atmel.o
@@ -39,6 +39,7 @@ obj-$(CONFIG_USB_EHCI_HCD_AT91) += ehci-
obj-$(CONFIG_USB_EHCI_MSM) += ehci-msm.o
obj-$(CONFIG_USB_EHCI_TEGRA) += ehci-tegra.o
obj-$(CONFIG_USB_W90X900_EHCI) += ehci-w90x900.o
@ -46,9 +42,6 @@ index 01e879e..d96053d 100644
obj-$(CONFIG_USB_OXU210HP_HCD) += oxu210hp-hcd.o
obj-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o
diff --git a/drivers/usb/host/ehci-sunxi.c b/drivers/usb/host/ehci-sunxi.c
new file mode 100644
index 0000000..e7e15cc
--- /dev/null
+++ b/drivers/usb/host/ehci-sunxi.c
@@ -0,0 +1,446 @@
@ -498,6 +491,3 @@ index 0000000..e7e15cc
+MODULE_ALIAS("platform:" DRV_NAME);
+MODULE_DEVICE_TABLE(of, ehci_of_match);
+MODULE_AUTHOR("Roman Byshko <rbyshko@gmail.com>");
--
1.8.5.1

@ -8,8 +8,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 731b491..c9913c0 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -93,6 +93,14 @@
@ -27,6 +25,3 @@ index 731b491..c9913c0 100644
/* dummy is 200M */
cpu: cpu@01c20054 {
#clock-cells = <0>;
--
1.8.5.1

@ -11,8 +11,6 @@ Conflicts:
arch/arm/boot/dts/sun4i-a10.dtsi | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index c9913c0..64eda82 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -17,6 +17,8 @@
@ -24,7 +22,7 @@ index c9913c0..64eda82 100644
};
cpus {
@@ -556,5 +558,33 @@
@@ -563,5 +565,33 @@
clock-frequency = <100000>;
status = "disabled";
};
@ -58,6 +56,3 @@ index c9913c0..64eda82 100644
+ };
};
};
--
1.8.5.1

@ -11,8 +11,6 @@ Conflicts:
arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 46 ++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
index 53ac453..48864a4 100644
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
@@ -77,6 +77,20 @@
@ -81,6 +79,3 @@ index 53ac453..48864a4 100644
+ };
};
};
--
1.8.5.1

@ -8,8 +8,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10-a1000.dts | 46 +++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
index fd6d512..e3bfc59 100644
--- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
+++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
@@ -73,6 +73,20 @@
@ -78,6 +76,3 @@ index fd6d512..e3bfc59 100644
+ };
};
};
--
1.8.5.1

@ -8,8 +8,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 3242a29..4eddc79 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -89,6 +89,14 @@
@ -27,6 +25,3 @@ index 3242a29..4eddc79 100644
cpu: cpu@01c20054 {
#clock-cells = <0>;
compatible = "allwinner,sun4i-cpu-clk";
--
1.8.5.1

@ -11,8 +11,6 @@ Conflicts:
arch/arm/boot/dts/sun7i-a20.dtsi | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 4eddc79..956b5cd 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -18,6 +18,8 @@
@ -24,7 +22,7 @@ index 4eddc79..956b5cd 100644
};
cpus {
@@ -652,5 +654,33 @@
@@ -623,5 +625,33 @@
#interrupt-cells = <3>;
interrupts = <1 9 0xf04>;
};
@ -58,6 +56,3 @@ index 4eddc79..956b5cd 100644
+ };
};
};
--
1.8.5.1

@ -11,11 +11,9 @@ Conflicts:
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 45 +++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
index a26711c..10ea99d 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -54,6 +54,20 @@
@@ -69,6 +69,20 @@
allwinner,drive = <0>;
allwinner,pull = <0>;
};
@ -36,7 +34,7 @@ index a26711c..10ea99d 100644
};
uart0: serial@01c28000 {
@@ -71,6 +85,15 @@
@@ -86,6 +100,15 @@
i2c1: i2c@01c2b000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
@ -51,8 +49,8 @@ index a26711c..10ea99d 100644
+ vbus-supply = <&reg_usb2_vbus>;
status = "okay";
};
@@ -112,5 +135,27 @@
};
@@ -119,5 +142,27 @@
gpio = <&pio 1 8 0>;
enable-active-high;
};
@ -80,6 +78,3 @@ index a26711c..10ea99d 100644
+ };
};
};
--
1.8.5.1

@ -8,11 +8,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 47 +++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
index 20b1000..5f13ed64 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -70,6 +70,20 @@
@@ -85,6 +85,20 @@
allwinner,drive = <1>;
allwinner,pull = <0>;
};
@ -33,8 +31,8 @@ index 20b1000..5f13ed64 100644
};
uart0: serial@01c28000 {
@@ -115,6 +129,16 @@
phy-mode = "mii";
@@ -122,6 +136,16 @@
pinctrl-0 = <&i2c2_pins_a>;
status = "okay";
};
+
@ -50,7 +48,7 @@ index 20b1000..5f13ed64 100644
};
leds {
@@ -131,6 +155,7 @@
@@ -138,6 +162,7 @@
regulators {
compatible = "simple-bus";
@ -58,7 +56,7 @@ index 20b1000..5f13ed64 100644
reg_ahci_5v: ahci-5v {
compatible = "regulator-fixed";
@@ -141,5 +166,27 @@
@@ -148,5 +173,27 @@
gpio = <&pio 1 8 0>;
enable-active-high;
};
@ -86,6 +84,3 @@ index 20b1000..5f13ed64 100644
+ };
};
};
--
1.8.5.1

@ -8,11 +8,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 46 ++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
index a5f3418..c8b3ea9 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -28,11 +28,21 @@
@@ -43,11 +43,21 @@
status = "okay";
};
@ -34,9 +32,9 @@ index a5f3418..c8b3ea9 100644
pinctrl@01c20800 {
mmc0_cd_pin_cubietruck: mmc0_cd_pin@0 {
allwinner,pins = "PH1";
@@ -54,6 +64,20 @@
allwinner,drive = <0>;
allwinner,pull = <0>;
@@ -90,6 +100,20 @@
allwinner,drive = <0>;
allwinner,pull = <2>;
};
+
+ usb1_vbus_pin: usb1_vbus_pin@0 {
@ -55,7 +53,7 @@ index a5f3418..c8b3ea9 100644
};
uart0: serial@01c28000 {
@@ -110,5 +134,27 @@
@@ -175,5 +199,27 @@
gpio = <&pio 7 12 0>;
enable-active-high;
};
@ -83,6 +81,3 @@ index a5f3418..c8b3ea9 100644
+ };
};
};
--
1.8.5.1

@ -8,8 +8,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 2dde48a..1a416d0 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -90,6 +90,14 @@
@ -27,6 +25,3 @@ index 2dde48a..1a416d0 100644
/* dummy is 200M */
cpu: cpu@01c20054 {
#clock-cells = <0>;
--
1.8.5.1

@ -8,8 +8,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 1a416d0..5bf7e9a 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -16,6 +16,10 @@
@ -23,7 +21,7 @@ index 1a416d0..5bf7e9a 100644
cpus {
#address-cells = <1>;
#size-cells = <0>;
@@ -416,5 +420,22 @@
@@ -423,5 +427,22 @@
interrupts = <82>, <83>;
clocks = <&ahb_gates 28>;
};
@ -46,6 +44,3 @@ index 1a416d0..5bf7e9a 100644
+ };
};
};
--
1.8.5.1

@ -8,8 +8,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
index cf77d9a..4b73e3e 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
@@ -46,6 +46,13 @@
@ -58,6 +56,3 @@ index cf77d9a..4b73e3e 100644
+ };
+ };
};
--
1.8.5.1

@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 8 ++++----
4 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
index e3bfc59..315e607 100644
--- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
+++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
@@ -147,8 +147,8 @@
@ -37,8 +35,6 @@ index e3bfc59..315e607 100644
enable-active-high;
gpio = <&pio 7 3 0>;
};
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
index 48864a4..0bd2aae 100644
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
@@ -158,8 +158,8 @@
@ -63,8 +59,6 @@ index 48864a4..0bd2aae 100644
enable-active-high;
gpio = <&pio 7 3 0>;
};
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
index 4b73e3e..b255d1b 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
@@ -104,8 +104,8 @@
@ -78,11 +72,9 @@ index 4b73e3e..b255d1b 100644
enable-active-high;
gpio = <&pio 6 11 0>;
};
diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
index 10ea99d..144b11a 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -141,8 +141,8 @@
@@ -148,8 +148,8 @@
pinctrl-names = "default";
pinctrl-0 = <&usb1_vbus_pin>;
regulator-name = "usb1-vbus";
@ -93,7 +85,7 @@ index 10ea99d..144b11a 100644
enable-active-high;
gpio = <&pio 7 6 0>;
};
@@ -152,8 +152,8 @@
@@ -159,8 +159,8 @@
pinctrl-names = "default";
pinctrl-0 = <&usb2_vbus_pin>;
regulator-name = "usb2-vbus";
@ -104,6 +96,3 @@ index 10ea99d..144b11a 100644
enable-active-high;
gpio = <&pio 7 3 0>;
};
--
1.8.5.1

@ -8,11 +8,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 956b5cd..2e19c47 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -664,7 +664,7 @@
@@ -635,7 +635,7 @@
ehci0: ehci0@0x01c14000 {
compatible = "allwinner,sunxi-ehci";
reg = <0x01c14000 0x400 0x01c14800 0x4 0x01c13404 0x4>;
@ -21,7 +19,7 @@ index 956b5cd..2e19c47 100644
resets = <&usb_rst 1>;
reset-names = "ehci_reset";
clocks = <&usb 8>, <&ahb_gates 1>;
@@ -675,7 +675,7 @@
@@ -646,7 +646,7 @@
ehci1: ehci1@0x01c1c000 {
compatible = "allwinner,sunxi-ehci";
reg = <0x01c1c000 0x400 0x01c1c800 0x4 0x01c13404 0x4>;
@ -30,6 +28,3 @@ index 956b5cd..2e19c47 100644
resets = <&usb_rst 2>;
reset-names = "ehci_reset";
clocks = <&usb 8>, <&ahb_gates 3>;
--
1.8.5.1

@ -8,11 +8,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/usb/host/ehci-sunxi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/ehci-sunxi.c b/drivers/usb/host/ehci-sunxi.c
index e7e15cc..e050d78 100644
--- a/drivers/usb/host/ehci-sunxi.c
+++ b/drivers/usb/host/ehci-sunxi.c
@@ -332,7 +332,8 @@ static int sunxi_ehci_probe(struct platform_device *pdev)
@@ -332,7 +332,8 @@ static int sunxi_ehci_probe(struct platf
if (pdev->resource[0].flags != IORESOURCE_MEM
|| pdev->resource[1].flags != IORESOURCE_MEM
|| pdev->resource[2].flags != IORESOURCE_MEM
@ -22,6 +20,3 @@ index e7e15cc..e050d78 100644
dev_err(&pdev->dev, "invalid resource type\n");
return -ENODEV;
}
--
1.8.5.1

@ -10,8 +10,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/mach-sunxi/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
index 547004c..09df4b81 100644
--- a/arch/arm/mach-sunxi/Kconfig
+++ b/arch/arm/mach-sunxi/Kconfig
@@ -3,6 +3,7 @@ config ARCH_SUNXI
@ -22,6 +20,3 @@ index 547004c..09df4b81 100644
select CLKSRC_MMIO
select CLKSRC_OF
select COMMON_CLK
--
1.8.5.1

@ -8,11 +8,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 24 +++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 8a7a23a..4d75cba 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -2682,10 +2682,17 @@ struct stmmac_priv *stmmac_dvr_probe(struct device *device,
@@ -2680,10 +2680,17 @@ struct stmmac_priv *stmmac_dvr_probe(str
if ((phyaddr >= 0) && (phyaddr <= 31))
priv->plat->phy_addr = phyaddr;
@ -31,7 +29,7 @@ index 8a7a23a..4d75cba 100644
ndev->netdev_ops = &stmmac_netdev_ops;
@@ -2723,12 +2730,6 @@ struct stmmac_priv *stmmac_dvr_probe(struct device *device,
@@ -2721,12 +2728,6 @@ struct stmmac_priv *stmmac_dvr_probe(str
goto error_netdev_register;
}
@ -44,7 +42,7 @@ index 8a7a23a..4d75cba 100644
/* If a specific clk_csr value is passed from the platform
* this means that the CSR Clock Range selection cannot be
* changed at run-time and it is fixed. Viceversa the driver'll try to
@@ -2753,15 +2754,18 @@ struct stmmac_priv *stmmac_dvr_probe(struct device *device,
@@ -2751,15 +2752,18 @@ struct stmmac_priv *stmmac_dvr_probe(str
}
}
@ -66,6 +64,3 @@ index 8a7a23a..4d75cba 100644
free_netdev(ndev);
return NULL;
--
1.8.5.1

@ -12,11 +12,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
index 51c9069..74c7aef 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -47,6 +47,7 @@ static int stmmac_probe_config_dt(struct platform_device *pdev,
@@ -47,6 +47,7 @@ static int stmmac_probe_config_dt(struct
plat->bus_id = 0;
of_property_read_u32(np, "snps,phy-addr", &plat->phy_addr);
@ -24,6 +22,3 @@ index 51c9069..74c7aef 100644
plat->mdio_bus_data = devm_kzalloc(&pdev->dev,
sizeof(struct stmmac_mdio_bus_data),
--
1.8.5.1

@ -8,8 +8,6 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
.../net/ethernet/stmicro/stmmac/stmmac_platform.c | 29 ++++++++++++++--------
1 file changed, 19 insertions(+), 10 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
index 74c7aef..df3fd1c 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -26,8 +26,19 @@
@ -32,7 +30,7 @@ index 74c7aef..df3fd1c 100644
#ifdef CONFIG_OF
static int stmmac_probe_config_dt(struct platform_device *pdev,
struct plat_stmmacenet_data *plat,
@@ -35,10 +46,18 @@ static int stmmac_probe_config_dt(struct platform_device *pdev,
@@ -35,10 +46,18 @@ static int stmmac_probe_config_dt(struct
{
struct device_node *np = pdev->dev.of_node;
struct stmmac_dma_cfg *dma_cfg;
@ -51,7 +49,7 @@ index 74c7aef..df3fd1c 100644
*mac = of_get_mac_address(np);
plat->interface = of_get_phy_mode(np);
@@ -257,16 +276,6 @@ int stmmac_pltfr_restore(struct device *dev)
@@ -257,16 +276,6 @@ static const struct dev_pm_ops stmmac_pl
static const struct dev_pm_ops stmmac_pltfr_pm_ops;
#endif /* CONFIG_PM */
@ -68,6 +66,3 @@ index 74c7aef..df3fd1c 100644
struct platform_driver stmmac_pltfr_driver = {
.probe = stmmac_pltfr_probe,
.remove = stmmac_pltfr_remove,
--
1.8.5.1

@ -26,9 +26,6 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
create mode 100644 Documentation/devicetree/bindings/net/allwinner,sun7i-gmac.txt
create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c
diff --git a/Documentation/devicetree/bindings/net/allwinner,sun7i-gmac.txt b/Documentation/devicetree/bindings/net/allwinner,sun7i-gmac.txt
new file mode 100644
index 0000000..271554a
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/allwinner,sun7i-gmac.txt
@@ -0,0 +1,22 @@
@ -54,8 +51,6 @@ index 0000000..271554a
+ clock-names = "stmmaceth";
+ phy-mode = "mii";
+ };
diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig
index 6e52c0f..6d71210 100644
--- a/drivers/net/ethernet/stmicro/stmmac/Kconfig
+++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig
@@ -25,6 +25,18 @@ config STMMAC_PLATFORM
@ -77,8 +72,6 @@ index 6e52c0f..6d71210 100644
config STMMAC_PCI
bool "STMMAC PCI bus support"
depends on STMMAC_ETH && PCI
diff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/ethernet/stmicro/stmmac/Makefile
index 356a9dd..ecadece 100644
--- a/drivers/net/ethernet/stmicro/stmmac/Makefile
+++ b/drivers/net/ethernet/stmicro/stmmac/Makefile
@@ -1,6 +1,7 @@
@ -89,9 +82,6 @@ index 356a9dd..ecadece 100644
stmmac-objs:= stmmac_main.o stmmac_ethtool.o stmmac_mdio.o ring_mode.o \
chain_mode.o dwmac_lib.o dwmac1000_core.o dwmac1000_dma.o \
dwmac100_core.o dwmac100_dma.o enh_desc.o norm_desc.o \
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c
new file mode 100644
index 0000000..6c9fdb0
--- /dev/null
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c
@@ -0,0 +1,76 @@
@ -171,11 +161,9 @@ index 0000000..6c9fdb0
+ .init = sun7i_gmac_init,
+};
+
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac.h b/drivers/net/ethernet/stmicro/stmmac/stmmac.h
index 22f89ff..c8f659a 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac.h
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac.h
@@ -130,6 +130,9 @@ struct stmmac_priv *stmmac_dvr_probe(struct device *device,
@@ -130,6 +130,9 @@ void stmmac_disable_eee_mode(struct stmm
bool stmmac_eee_init(struct stmmac_priv *priv);
#ifdef CONFIG_STMMAC_PLATFORM
@ -185,11 +173,9 @@ index 22f89ff..c8f659a 100644
extern struct platform_driver stmmac_pltfr_driver;
static inline int stmmac_register_platform(void)
{
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
index df3fd1c..6cf8292 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -35,6 +35,9 @@
@@ -35,6 +35,9 @@ static const struct of_device_id stmmac_
{ .compatible = "snps,dwmac-3.70a"},
{ .compatible = "snps,dwmac-3.710"},
{ .compatible = "snps,dwmac"},
@ -199,6 +185,3 @@ index df3fd1c..6cf8292 100644
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, stmmac_dt_ids);
--
1.8.5.1

@ -8,11 +8,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 0c1d363..82be552 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -571,6 +571,20 @@
@@ -605,6 +605,20 @@
status = "disabled";
};
@ -33,6 +31,3 @@ index 0c1d363..82be552 100644
hstimer@01c60000 {
compatible = "allwinner,sun7i-a20-hstimer";
reg = <0x01c60000 0x1000>;
--
1.8.5.1

@ -11,11 +11,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 82be552..a0d6ef7 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -403,6 +403,28 @@
@@ -428,6 +428,28 @@
allwinner,pull = <0>;
};
@ -44,6 +42,3 @@ index 82be552..a0d6ef7 100644
mmc0_pins_a: mmc0@0 {
allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
allwinner,function = "mmc0";
--
1.8.5.1

@ -10,11 +10,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
index 7ee628a..2684f27 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -49,6 +49,14 @@
@@ -121,6 +121,14 @@
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
@ -29,6 +27,3 @@ index 7ee628a..2684f27 100644
};
leds {
--
1.8.5.1

@ -11,8 +11,6 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 23 ++++++++---------------
1 file changed, 8 insertions(+), 15 deletions(-)
diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
index d28e600..48777cd 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -19,21 +19,6 @@
@ -37,8 +35,8 @@ index d28e600..48777cd 100644
mmc0: mmc@01c0f000 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
@@ -76,6 +61,14 @@
pinctrl-0 = <&i2c1_pins_a>;
@@ -111,6 +96,14 @@
vbus-supply = <&reg_usb2_vbus>;
status = "okay";
};
+
@ -52,6 +50,3 @@ index d28e600..48777cd 100644
};
leds {
--
1.8.5.1

@ -11,8 +11,6 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 23 ++++++++---------------
1 file changed, 8 insertions(+), 15 deletions(-)
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
index d377696..bf6f6c8 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -19,21 +19,6 @@
@ -37,8 +35,8 @@ index d377696..bf6f6c8 100644
mmc0: mmc@01c0f000 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
@@ -110,6 +95,14 @@
pinctrl-0 = <&i2c2_pins_a>;
@@ -146,6 +131,14 @@
vbus-supply = <&reg_usb2_vbus>;
status = "okay";
};
+
@ -52,6 +50,3 @@ index d377696..bf6f6c8 100644
};
leds {
--
1.8.5.1

@ -13,8 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clocksource/timer-sun5i.c | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt b/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt
index 7c26154..27cfc7d 100644
--- a/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt
+++ b/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt
@@ -9,6 +9,9 @@ Required properties:
@ -33,8 +31,6 @@ index 7c26154..27cfc7d 100644
clocks = <&ahb1_gates 19>;
+ resets = <&ahb1rst 19>;
};
diff --git a/drivers/clocksource/timer-sun5i.c b/drivers/clocksource/timer-sun5i.c
index bddc522..f74d75e 100644
--- a/drivers/clocksource/timer-sun5i.c
+++ b/drivers/clocksource/timer-sun5i.c
@@ -16,6 +16,7 @@
@ -53,7 +49,7 @@ index bddc522..f74d75e 100644
unsigned long rate;
struct clk *clk;
int ret, irq;
@@ -162,6 +164,10 @@ static void __init sun5i_timer_init(struct device_node *node)
@@ -162,6 +164,10 @@ static void __init sun5i_timer_init(stru
clk_prepare_enable(clk);
rate = clk_get_rate(clk);
@ -64,6 +60,3 @@ index bddc522..f74d75e 100644
writel(~0, timer_base + TIMER_INTVAL_LO_REG(1));
writel(TIMER_CTL_ENABLE | TIMER_CTL_RELOAD,
timer_base + TIMER_CTL_REG(1));
--
1.8.5.1

@ -15,11 +15,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
include/linux/reset.h | 4 ++++
2 files changed, 34 insertions(+), 9 deletions(-)
diff --git a/drivers/reset/core.c b/drivers/reset/core.c
index d1b6089..4f3dda7 100644
--- a/drivers/reset/core.c
+++ b/drivers/reset/core.c
@@ -127,15 +127,16 @@ int reset_control_deassert(struct reset_control *rstc)
@@ -127,15 +127,16 @@ int reset_control_deassert(struct reset_
EXPORT_SYMBOL_GPL(reset_control_deassert);
/**
@ -39,7 +37,7 @@ index d1b6089..4f3dda7 100644
{
struct reset_control *rstc = ERR_PTR(-EPROBE_DEFER);
struct reset_controller_dev *r, *rcdev;
@@ -144,13 +145,10 @@ struct reset_control *reset_control_get(struct device *dev, const char *id)
@@ -144,13 +145,10 @@ struct reset_control *reset_control_get(
int rstc_id;
int ret;
@ -55,7 +53,7 @@ index d1b6089..4f3dda7 100644
index, &args);
if (ret)
return ERR_PTR(ret);
@@ -185,12 +183,35 @@ struct reset_control *reset_control_get(struct device *dev, const char *id)
@@ -185,12 +183,35 @@ struct reset_control *reset_control_get(
return ERR_PTR(-ENOMEM);
}
@ -92,8 +90,6 @@ index d1b6089..4f3dda7 100644
EXPORT_SYMBOL_GPL(reset_control_get);
/**
diff --git a/include/linux/reset.h b/include/linux/reset.h
index 6082247..a398025 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
@@ -1,6 +1,8 @@
@ -105,7 +101,7 @@ index 6082247..a398025 100644
struct device;
struct reset_control;
@@ -8,6 +10,8 @@
@@ -8,6 +10,8 @@ int reset_control_reset(struct reset_con
int reset_control_assert(struct reset_control *rstc);
int reset_control_deassert(struct reset_control *rstc);
@ -114,6 +110,3 @@ index 6082247..a398025 100644
struct reset_control *reset_control_get(struct device *dev, const char *id);
void reset_control_put(struct reset_control *rstc);
struct reset_control *devm_reset_control_get(struct device *dev, const char *id);
--
1.8.5.1

@ -9,8 +9,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/reset/reset-sunxi.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
index 5256ad9..ab6ea43 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -220,13 +220,13 @@
@ -29,8 +27,6 @@ index 5256ad9..ab6ea43 100644
reg = <0x01c202d8 0x4>;
};
diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c
index 695bd34..3db179c 100644
--- a/drivers/reset/reset-sunxi.c
+++ b/drivers/reset/reset-sunxi.c
@@ -138,7 +138,7 @@ void __init sun6i_reset_init(void)
@ -42,6 +38,3 @@ index 695bd34..3db179c 100644
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, sunxi_reset_dt_ids);
--
1.8.5.1

@ -13,11 +13,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
drivers/clk/sunxi/clk-sunxi.c | 57 +++++++++++++++++++++++
2 files changed, 58 insertions(+)
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
index 941bd93..79c7197 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -36,6 +36,7 @@ Required properties:
@@ -37,6 +37,7 @@ Required properties:
"allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A31
"allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31
"allwinner,sun4i-mod0-clk" - for the module 0 family of clocks
@ -25,11 +23,9 @@ index 941bd93..79c7197 100644
Required properties for all clocks:
- reg : shall be the control register address for the clock.
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 8a07a68..df1f385 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -396,6 +396,47 @@ void clk_sunxi_mmc_phase_control(struct clk_hw *hw, u8 sample, u8 output)
@@ -396,6 +396,47 @@ void clk_sunxi_mmc_phase_control(struct
/**
@ -77,7 +73,7 @@ index 8a07a68..df1f385 100644
* sunxi_factors_clk_setup() - Setup function for factor clocks
*/
@@ -455,6 +496,14 @@ struct factors_data {
@@ -455,6 +496,14 @@ static struct clk_factors_config sun4i_m
.pwidth = 2,
};
@ -92,7 +88,7 @@ index 8a07a68..df1f385 100644
static const struct factors_data sun4i_pll1_data __initconst = {
.enable = 31,
.table = &sun4i_pll1_config,
@@ -492,6 +541,13 @@ struct factors_data {
@@ -491,6 +540,13 @@ static const struct factors_data sun4i_m
.getter = sun4i_get_mod0_factors,
};
@ -106,7 +102,7 @@ index 8a07a68..df1f385 100644
static struct clk * __init sunxi_factors_clk_setup(struct device_node *node,
const struct factors_data *data)
{
@@ -995,6 +1051,7 @@ static void __init sunxi_divs_clk_setup(struct device_node *node,
@@ -998,6 +1054,7 @@ static const struct of_device_id clk_fac
{.compatible = "allwinner,sun5i-a13-ahb-clk", .data = &sun5i_a13_ahb_data,},
{.compatible = "allwinner,sun4i-apb1-clk", .data = &sun4i_apb1_data,},
{.compatible = "allwinner,sun4i-mod0-clk", .data = &sun4i_mod0_data,},
@ -114,6 +110,3 @@ index 8a07a68..df1f385 100644
{}
};
--
1.8.5.1

@ -13,11 +13,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 2e19c47..858e0710 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -305,6 +305,33 @@
@@ -312,6 +312,33 @@
clocks = <&osc24M>, <&pll6 2>, <&pll5 1>;
clock-output-names = "mbus";
};
@ -51,6 +49,3 @@ index 2e19c47..858e0710 100644
};
timer {
--
1.8.5.1

@ -13,11 +13,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
drivers/pinctrl/pinctrl-sunxi-pins.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pinctrl/pinctrl-sunxi-pins.h b/drivers/pinctrl/pinctrl-sunxi-pins.h
index 7c1b05e..3d60669 100644
--- a/drivers/pinctrl/pinctrl-sunxi-pins.h
+++ b/drivers/pinctrl/pinctrl-sunxi-pins.h
@@ -3774,12 +3774,14 @@
@@ -3774,12 +3774,14 @@ static const struct sunxi_desc_pin sun7i
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "spi0"), /* MOSI */
SUNXI_FUNCTION(0x3, "uart6"), /* TX */
@ -32,6 +30,3 @@ index 7c1b05e..3d60669 100644
SUNXI_FUNCTION_IRQ(0x5, 25)), /* EINT25 */
SUNXI_PIN(SUNXI_PINCTRL_PIN_PI14,
SUNXI_FUNCTION(0x0, "gpio_in"),
--
1.8.5.1

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save