kernel: refresh patches for kernel 4.4
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 48222
This commit is contained in:
parent
bd99318c82
commit
ba3a749f9b
44 changed files with 97 additions and 196 deletions
|
@ -59,7 +59,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||
|
||||
static const char *const bcm5301x_dt_compat[] __initconst = {
|
||||
"brcm,bcm4708",
|
||||
@@ -52,6 +18,5 @@ static const char *const bcm5301x_dt_compat[] __initconst = {
|
||||
@@ -52,6 +18,5 @@ static const char *const bcm5301x_dt_com
|
||||
DT_MACHINE_START(BCM5301X, "BCM5301X")
|
||||
.l2c_aux_val = 0,
|
||||
.l2c_aux_mask = ~0,
|
||||
|
|
|
@ -217,7 +217,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||
{
|
||||
void __iomem *boot_reg;
|
||||
phys_addr_t boot_func;
|
||||
@@ -154,15 +179,16 @@ static int bcm_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
@@ -154,15 +179,16 @@ static int bcm_boot_secondary(unsigned i
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -237,7 +237,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||
}
|
||||
|
||||
/*
|
||||
@@ -191,12 +217,12 @@ static int bcm_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
@@ -191,12 +217,12 @@ static int bcm_boot_secondary(unsigned i
|
||||
|
||||
pr_err("timeout waiting for cpu %u to start\n", cpu_id);
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||
|
||||
# BCM281XX
|
||||
obj-$(CONFIG_ARCH_BCM_281XX) += board_bcm281xx.o
|
||||
@@ -23,7 +27,7 @@ obj-$(CONFIG_ARCH_BCM_281XX) += board_bcm281xx.o
|
||||
@@ -23,7 +27,7 @@ obj-$(CONFIG_ARCH_BCM_281XX) += board_bc
|
||||
obj-$(CONFIG_ARCH_BCM_21664) += board_bcm21664.o
|
||||
|
||||
# BCM281XX and BCM21664 SMP support
|
||||
|
|
|
@ -46,7 +46,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||
Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
|
||||
--- a/arch/arm/mach-bcm/Makefile
|
||||
+++ b/arch/arm/mach-bcm/Makefile
|
||||
@@ -43,6 +43,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2835.o
|
||||
@@ -43,6 +43,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2
|
||||
|
||||
# BCM5301X
|
||||
obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o
|
||||
|
|
|
@ -121,7 +121,8 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||
+ };
|
||||
+
|
||||
+ iprocmed: iprocmed {
|
||||
+ #clock-cells = <0>;
|
||||
#clock-cells = <0>;
|
||||
- clock-frequency = <400000000>;
|
||||
+ compatible = "fixed-factor-clock";
|
||||
+ clocks = <&genpll BCM_NSP_GENPLL_IPROCFAST_CLK>;
|
||||
+ clock-div = <2>;
|
||||
|
@ -137,8 +138,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||
+ };
|
||||
+
|
||||
+ periph_clk: periph_clk {
|
||||
#clock-cells = <0>;
|
||||
- clock-frequency = <400000000>;
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "fixed-factor-clock";
|
||||
+ clocks = <&a9pll>;
|
||||
+ clock-div = <2>;
|
||||
|
|
|
@ -60,7 +60,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||
+ };
|
||||
--- a/Documentation/devicetree/bindings/arm/cpus.txt
|
||||
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
|
||||
@@ -190,6 +190,7 @@ nodes to be present and contain the properties described below.
|
||||
@@ -190,6 +190,7 @@ nodes to be present and contain the prop
|
||||
"allwinner,sun6i-a31"
|
||||
"allwinner,sun8i-a23"
|
||||
"arm,psci"
|
||||
|
|
|
@ -37,7 +37,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||
};
|
||||
|
||||
/* Wait for bitmask in a register to get set or cleared.
|
||||
@@ -228,19 +230,12 @@ static void bcma_hcd_init_chip_arm(struct bcma_device *dev)
|
||||
@@ -228,19 +230,12 @@ static void bcma_hcd_init_chip_arm(struc
|
||||
|
||||
static void bcma_hci_platform_power_gpio(struct bcma_device *dev, bool val)
|
||||
{
|
||||
|
@ -60,7 +60,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||
}
|
||||
|
||||
static const struct usb_ehci_pdata ehci_pdata = {
|
||||
@@ -314,7 +309,11 @@ static int bcma_hcd_probe(struct bcma_device *dev)
|
||||
@@ -314,7 +309,11 @@ static int bcma_hcd_probe(struct bcma_de
|
||||
if (!usb_dev)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ Reviewed-by: Scott Branden <sbranden@broadcom.com>
|
|||
|
||||
--- a/drivers/pci/host/Kconfig
|
||||
+++ b/drivers/pci/host/Kconfig
|
||||
@@ -126,6 +126,15 @@ config PCIE_IPROC
|
||||
@@ -127,6 +127,15 @@ config PCIE_IPROC
|
||||
iProc family of SoCs. An appropriate bus interface driver also needs
|
||||
to be enabled
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
|||
|
||||
--- a/drivers/usb/host/bcma-hcd.c
|
||||
+++ b/drivers/usb/host/bcma-hcd.c
|
||||
@@ -568,8 +568,7 @@ static int bcma_hcd_probe(struct bcma_device *dev)
|
||||
@@ -568,8 +568,7 @@ static int bcma_hcd_probe(struct bcma_de
|
||||
usb_dev->core = dev;
|
||||
|
||||
if (dev->dev.of_node)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/mtd/bcm47xxpart.c
|
||||
+++ b/drivers/mtd/bcm47xxpart.c
|
||||
@@ -100,6 +100,7 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
@@ -127,6 +127,7 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
int last_trx_part = -1;
|
||||
int possible_nvram_sizes[] = { 0x8000, 0xF000, 0x10000, };
|
||||
int err;
|
||||
|
@ -8,7 +8,7 @@
|
|||
|
||||
/*
|
||||
* Some really old flashes (like AT45DB*) had smaller erasesize-s, but
|
||||
@@ -306,12 +307,23 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
@@ -334,12 +335,23 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
if (buf[0] == NVRAM_HEADER) {
|
||||
bcm47xxpart_add_part(&parts[curr_part++], "nvram",
|
||||
master->size - blocksize, 0);
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
|||
|
||||
--- a/drivers/mtd/bcm47xxpart.c
|
||||
+++ b/drivers/mtd/bcm47xxpart.c
|
||||
@@ -61,6 +61,34 @@ static void bcm47xxpart_add_part(struct mtd_partition *part, const char *name,
|
||||
@@ -61,6 +61,34 @@ static void bcm47xxpart_add_part(struct
|
||||
part->mask_flags = mask_flags;
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
|||
static const char *bcm47xxpart_trx_data_part_name(struct mtd_info *master,
|
||||
size_t offset)
|
||||
{
|
||||
@@ -182,6 +210,8 @@ static int bcm47xxpart_parse(struct mtd_info *master,
|
||||
@@ -182,6 +210,8 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
|
||||
/* TRX */
|
||||
if (buf[0x000 / 4] == TRX_MAGIC) {
|
||||
|
@ -57,7 +57,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
|||
if (BCM47XXPART_MAX_PARTS - curr_part < 4) {
|
||||
pr_warn("Not enough partitions left to register trx, scanning stopped!\n");
|
||||
break;
|
||||
@@ -196,18 +226,18 @@ static int bcm47xxpart_parse(struct mtd_info *master,
|
||||
@@ -196,18 +226,18 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
i = 0;
|
||||
/* We have LZMA loader if offset[2] points to sth */
|
||||
if (trx->offset[2]) {
|
||||
|
@ -82,7 +82,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
|||
i++;
|
||||
}
|
||||
|
||||
@@ -219,11 +249,11 @@ static int bcm47xxpart_parse(struct mtd_info *master,
|
||||
@@ -219,11 +249,11 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
if (trx->offset[i]) {
|
||||
const char *name;
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
.probe = at803x_probe,
|
||||
.config_init = at803x_config_init,
|
||||
.link_change_notify = at803x_link_change_notify,
|
||||
@@ -413,7 +438,7 @@ static struct phy_driver at803x_driver[]
|
||||
@@ -415,7 +440,7 @@ static struct phy_driver at803x_driver[]
|
||||
/* ATHEROS 8030 */
|
||||
.phy_id = ATH8030_PHY_ID,
|
||||
.name = "Atheros 8030 ethernet",
|
||||
|
@ -70,7 +70,7 @@
|
|||
.probe = at803x_probe,
|
||||
.config_init = at803x_config_init,
|
||||
.link_change_notify = at803x_link_change_notify,
|
||||
@@ -431,8 +456,8 @@ static struct phy_driver at803x_driver[]
|
||||
@@ -435,8 +460,8 @@ static struct phy_driver at803x_driver[]
|
||||
}, {
|
||||
/* ATHEROS 8031 */
|
||||
.phy_id = ATH8031_PHY_ID,
|
||||
|
@ -81,7 +81,7 @@
|
|||
.probe = at803x_probe,
|
||||
.config_init = at803x_config_init,
|
||||
.link_change_notify = at803x_link_change_notify,
|
||||
@@ -454,9 +479,9 @@ static struct phy_driver at803x_driver[]
|
||||
@@ -458,9 +483,9 @@ static struct phy_driver at803x_driver[]
|
||||
module_phy_driver(at803x_driver);
|
||||
|
||||
static struct mdio_device_id __maybe_unused atheros_tbl[] = {
|
||||
|
|
|
@ -22,7 +22,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
|||
struct device_node *pp;
|
||||
int nr_parts, i, ret = 0;
|
||||
bool dedicated = true;
|
||||
@@ -102,9 +105,15 @@ static int parse_ofpart_partitions(struc
|
||||
@@ -110,9 +113,15 @@ static int parse_ofpart_partitions(struc
|
||||
(*pparts)[i].offset = of_read_number(reg, a_cells);
|
||||
(*pparts)[i].size = of_read_number(reg + a_cells, s_cells);
|
||||
|
||||
|
@ -41,7 +41,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
|||
(*pparts)[i].name = partname;
|
||||
|
||||
if (of_get_property(pp, "read-only", &len))
|
||||
@@ -207,6 +216,18 @@ static int __init ofpart_parser_init(voi
|
||||
@@ -215,6 +224,18 @@ static int __init ofpart_parser_init(voi
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/arm/mach-omap2/twl-common.c
|
||||
+++ b/arch/arm/mach-omap2/twl-common.c
|
||||
@@ -280,6 +280,7 @@ static struct regulator_init_data omap4_
|
||||
@@ -368,6 +368,7 @@ static struct regulator_init_data omap4_
|
||||
static struct regulator_init_data omap4_clk32kg_idata = {
|
||||
.constraints = {
|
||||
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
||||
|
|
|
@ -19,13 +19,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
drivers/clk/sunxi/clk-simple-gates.c | 12 ++++++++++++
|
||||
2 files changed, 13 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
|
||||
index 153ac72..ef0b452 100644
|
||||
diff --git a/drivers/clk/sunxi/clk-simple-gates.c b/drivers/clk/sunxi/clk-simple-gates.c
|
||||
index c8acc06..f4da52b 100644
|
||||
--- a/drivers/clk/sunxi/clk-simple-gates.c
|
||||
+++ b/drivers/clk/sunxi/clk-simple-gates.c
|
||||
@@ -160,3 +160,15 @@ CLK_OF_DECLARE(sun5i_a13_ahb, "allwinner,sun5i-a13-ahb-gates-clk",
|
||||
@@ -158,3 +158,15 @@ CLK_OF_DECLARE(sun5i_a13_ahb, "allwinner
|
||||
sun4i_a10_ahb_init);
|
||||
CLK_OF_DECLARE(sun7i_a20_ahb, "allwinner,sun7i-a20-ahb-gates-clk",
|
||||
sun4i_a10_ahb_init);
|
||||
|
|
|
@ -13,8 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
arch/arm/boot/dts/sun4i-a10.dtsi | 36 ++++++++++++++++++++++++++++++++----
|
||||
1 file changed, 32 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
index aa90f31..849d024 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
@@ -66,7 +66,7 @@
|
||||
|
|
|
@ -13,8 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
arch/arm/boot/dts/sun7i-a20.dtsi | 32 +++++++++++++++++++++++++++++---
|
||||
1 file changed, 29 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
|
||||
index e02eb72..21169c0 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
|
||||
@@ -68,7 +68,7 @@
|
||||
|
|
|
@ -24,10 +24,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
4 files changed, 121 insertions(+)
|
||||
create mode 100644 drivers/clk/sunxi/clk-sun8i-bus-gates.c
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
|
||||
index ef0b452..014eab8 100644
|
||||
diff --git a/drivers/clk/sunxi/Makefile b/drivers/clk/sunxi/Makefile
|
||||
index 103efab..abf4916 100644
|
||||
--- a/drivers/clk/sunxi/Makefile
|
||||
+++ b/drivers/clk/sunxi/Makefile
|
||||
@@ -10,6 +10,7 @@ obj-y += clk-a10-pll2.o
|
||||
|
@ -38,9 +34,6 @@ index 103efab..abf4916 100644
|
|||
obj-y += clk-sun8i-mbus.o
|
||||
obj-y += clk-sun9i-core.o
|
||||
obj-y += clk-sun9i-mmc.o
|
||||
diff --git a/drivers/clk/sunxi/clk-sun8i-bus-gates.c b/drivers/clk/sunxi/clk-sun8i-bus-gates.c
|
||||
new file mode 100644
|
||||
index 0000000..7ab60c5
|
||||
--- /dev/null
|
||||
+++ b/drivers/clk/sunxi/clk-sun8i-bus-gates.c
|
||||
@@ -0,0 +1,112 @@
|
||||
|
@ -156,11 +149,9 @@ index 0000000..7ab60c5
|
|||
+
|
||||
+CLK_OF_DECLARE(sun8i_h3_bus_gates, "allwinner,sun8i-h3-bus-gates-clk",
|
||||
+ sun8i_h3_bus_gates_init);
|
||||
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
|
||||
index 9c79af0c..5ba2188 100644
|
||||
--- a/drivers/clk/sunxi/clk-sunxi.c
|
||||
+++ b/drivers/clk/sunxi/clk-sunxi.c
|
||||
@@ -778,6 +778,10 @@ static const struct mux_data sun6i_a31_ahb1_mux_data __initconst = {
|
||||
@@ -778,6 +778,10 @@ static const struct mux_data sun6i_a31_a
|
||||
.shift = 12,
|
||||
};
|
||||
|
||||
|
@ -171,7 +162,7 @@ index 9c79af0c..5ba2188 100644
|
|||
static void __init sunxi_mux_clk_setup(struct device_node *node,
|
||||
struct mux_data *data)
|
||||
{
|
||||
@@ -1130,6 +1134,7 @@ static const struct of_device_id clk_divs_match[] __initconst = {
|
||||
@@ -1130,6 +1134,7 @@ static const struct of_device_id clk_div
|
||||
static const struct of_device_id clk_mux_match[] __initconst = {
|
||||
{.compatible = "allwinner,sun4i-a10-cpu-clk", .data = &sun4i_cpu_mux_data,},
|
||||
{.compatible = "allwinner,sun6i-a31-ahb1-mux-clk", .data = &sun6i_a31_ahb1_mux_data,},
|
||||
|
@ -179,7 +170,7 @@ index 9c79af0c..5ba2188 100644
|
|||
{}
|
||||
};
|
||||
|
||||
@@ -1212,6 +1217,7 @@ CLK_OF_DECLARE(sun6i_a31_clk_init, "allwinner,sun6i-a31", sun6i_init_clocks);
|
||||
@@ -1212,6 +1217,7 @@ CLK_OF_DECLARE(sun6i_a31_clk_init, "allw
|
||||
CLK_OF_DECLARE(sun6i_a31s_clk_init, "allwinner,sun6i-a31s", sun6i_init_clocks);
|
||||
CLK_OF_DECLARE(sun8i_a23_clk_init, "allwinner,sun8i-a23", sun6i_init_clocks);
|
||||
CLK_OF_DECLARE(sun8i_a33_clk_init, "allwinner,sun8i-a33", sun6i_init_clocks);
|
||||
|
|
|
@ -13,9 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
1 file changed, 497 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
new file mode 100644
|
||||
index 0000000..1524130e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
@@ -0,0 +1,497 @@
|
||||
|
|
|
@ -17,11 +17,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
2 files changed, 79 insertions(+), 1 deletion(-)
|
||||
create mode 100644 arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index e8f44c7..cc7309b 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -661,7 +661,8 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
@@ -660,7 +660,8 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-a33-ga10h-v1.1.dtb \
|
||||
sun8i-a33-ippo-q8h-v1.2.dtb \
|
||||
sun8i-a33-q8-tablet.dtb \
|
||||
|
@ -31,9 +29,6 @@ index e8f44c7..cc7309b 100644
|
|||
dtb-$(CONFIG_MACH_SUN9I) += \
|
||||
sun9i-a80-optimus.dtb \
|
||||
sun9i-a80-cubieboard4.dtb
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
|
||||
new file mode 100644
|
||||
index 0000000..e67df59
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
|
||||
@@ -0,0 +1,77 @@
|
||||
|
|
|
@ -13,8 +13,6 @@ Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
|
|||
drivers/phy/phy-sun4i-usb.c | 121 +++++++++++++++++++++++++++++---------------
|
||||
1 file changed, 79 insertions(+), 42 deletions(-)
|
||||
|
||||
diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/phy-sun4i-usb.c
|
||||
index b12964b..35b1fa3 100644
|
||||
--- a/drivers/phy/phy-sun4i-usb.c
|
||||
+++ b/drivers/phy/phy-sun4i-usb.c
|
||||
@@ -32,6 +32,7 @@
|
||||
|
@ -52,7 +50,7 @@ index b12964b..35b1fa3 100644
|
|||
struct sun4i_usb_phy {
|
||||
struct phy *phy;
|
||||
void __iomem *pmu;
|
||||
@@ -159,17 +171,14 @@ static void sun4i_usb_phy_write(struct sun4i_usb_phy *phy, u32 addr, u32 data,
|
||||
@@ -159,17 +171,14 @@ static void sun4i_usb_phy_write(struct s
|
||||
{
|
||||
struct sun4i_usb_phy_data *phy_data = to_sun4i_usb_phy_data(phy);
|
||||
u32 temp, usbc_bit = BIT(phy->index * 2);
|
||||
|
@ -72,7 +70,7 @@ index b12964b..35b1fa3 100644
|
|||
}
|
||||
|
||||
for (i = 0; i < len; i++) {
|
||||
@@ -249,7 +258,8 @@ static int sun4i_usb_phy_init(struct phy *_phy)
|
||||
@@ -249,7 +258,8 @@ static int sun4i_usb_phy_init(struct phy
|
||||
sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5);
|
||||
|
||||
/* Disconnect threshold adjustment */
|
||||
|
@ -82,7 +80,7 @@ index b12964b..35b1fa3 100644
|
|||
|
||||
sun4i_usb_phy_passby(phy, 1);
|
||||
|
||||
@@ -476,7 +486,7 @@ static struct phy *sun4i_usb_phy_xlate(struct device *dev,
|
||||
@@ -476,7 +486,7 @@ static struct phy *sun4i_usb_phy_xlate(s
|
||||
{
|
||||
struct sun4i_usb_phy_data *data = dev_get_drvdata(dev);
|
||||
|
||||
|
@ -91,7 +89,7 @@ index b12964b..35b1fa3 100644
|
|||
return ERR_PTR(-ENODEV);
|
||||
|
||||
return data->phys[args->args[0]].phy;
|
||||
@@ -511,7 +521,6 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
@@ -511,7 +521,6 @@ static int sun4i_usb_phy_probe(struct pl
|
||||
struct device *dev = &pdev->dev;
|
||||
struct device_node *np = dev->of_node;
|
||||
struct phy_provider *phy_provider;
|
||||
|
@ -99,7 +97,7 @@ index b12964b..35b1fa3 100644
|
|||
struct resource *res;
|
||||
int i, ret;
|
||||
|
||||
@@ -522,29 +531,9 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
@@ -522,29 +531,9 @@ static int sun4i_usb_phy_probe(struct pl
|
||||
mutex_init(&data->mutex);
|
||||
INIT_DELAYED_WORK(&data->detect, sun4i_usb_phy0_id_vbus_det_scan);
|
||||
dev_set_drvdata(dev, data);
|
||||
|
@ -132,7 +130,7 @@ index b12964b..35b1fa3 100644
|
|||
|
||||
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy_ctrl");
|
||||
data->base = devm_ioremap_resource(dev, res);
|
||||
@@ -590,7 +579,7 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
@@ -590,7 +579,7 @@ static int sun4i_usb_phy_probe(struct pl
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -141,7 +139,7 @@ index b12964b..35b1fa3 100644
|
|||
struct sun4i_usb_phy *phy = data->phys + i;
|
||||
char name[16];
|
||||
|
||||
@@ -602,7 +591,7 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
@@ -602,7 +591,7 @@ static int sun4i_usb_phy_probe(struct pl
|
||||
phy->vbus = NULL;
|
||||
}
|
||||
|
||||
|
@ -150,7 +148,7 @@ index b12964b..35b1fa3 100644
|
|||
snprintf(name, sizeof(name), "usb%d_phy", i);
|
||||
else
|
||||
strlcpy(name, "usb_phy", sizeof(name));
|
||||
@@ -689,13 +678,61 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
@@ -689,13 +678,61 @@ static int sun4i_usb_phy_probe(struct pl
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -16,8 +16,6 @@ Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
|
|||
drivers/phy/phy-sun4i-usb.c | 41 +++++++++++++++++-----
|
||||
2 files changed, 33 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
|
||||
index 0cebf74..95736d7 100644
|
||||
--- a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
|
||||
+++ b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
|
||||
@@ -9,6 +9,7 @@ Required properties:
|
||||
|
@ -28,8 +26,6 @@ index 0cebf74..95736d7 100644
|
|||
- reg : a list of offset + length pairs
|
||||
- reg-names :
|
||||
* "phy_ctrl"
|
||||
diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/phy-sun4i-usb.c
|
||||
index 35b1fa3..bae54f7 100644
|
||||
--- a/drivers/phy/phy-sun4i-usb.c
|
||||
+++ b/drivers/phy/phy-sun4i-usb.c
|
||||
@@ -47,6 +47,9 @@
|
||||
|
@ -59,7 +55,7 @@ index 35b1fa3..bae54f7 100644
|
|||
};
|
||||
|
||||
struct sun4i_usb_phy_cfg {
|
||||
@@ -239,6 +243,7 @@ static int sun4i_usb_phy_init(struct phy *_phy)
|
||||
@@ -239,6 +243,7 @@ static int sun4i_usb_phy_init(struct phy
|
||||
struct sun4i_usb_phy *phy = phy_get_drvdata(_phy);
|
||||
struct sun4i_usb_phy_data *data = to_sun4i_usb_phy_data(phy);
|
||||
int ret;
|
||||
|
@ -67,13 +63,20 @@ index 35b1fa3..bae54f7 100644
|
|||
|
||||
ret = clk_prepare_enable(phy->clk);
|
||||
if (ret)
|
||||
@@ -250,16 +255,26 @@ static int sun4i_usb_phy_init(struct phy *_phy)
|
||||
@@ -250,16 +255,26 @@ static int sun4i_usb_phy_init(struct phy
|
||||
return ret;
|
||||
}
|
||||
|
||||
- /* Enable USB 45 Ohm resistor calibration */
|
||||
- if (phy->index == 0)
|
||||
- sun4i_usb_phy_write(phy, PHY_RES45_CAL_EN, 0x01, 1);
|
||||
-
|
||||
- /* Adjust PHY's magnitude and rate */
|
||||
- sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5);
|
||||
-
|
||||
- /* Disconnect threshold adjustment */
|
||||
- sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL,
|
||||
- data->cfg->disc_thresh, 2);
|
||||
+ if (data->cfg->type == sun8i_h3_phy) {
|
||||
+ if (phy->index == 0) {
|
||||
+ val = readl(data->base + REG_PHY_UNK_H3);
|
||||
|
@ -86,15 +89,10 @@ index 35b1fa3..bae54f7 100644
|
|||
+ /* Enable USB 45 Ohm resistor calibration */
|
||||
+ if (phy->index == 0)
|
||||
+ sun4i_usb_phy_write(phy, PHY_RES45_CAL_EN, 0x01, 1);
|
||||
|
||||
- /* Adjust PHY's magnitude and rate */
|
||||
- sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5);
|
||||
+
|
||||
+ /* Adjust PHY's magnitude and rate */
|
||||
+ sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5);
|
||||
|
||||
- /* Disconnect threshold adjustment */
|
||||
- sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL,
|
||||
- data->cfg->disc_thresh, 2);
|
||||
+
|
||||
+ /* Disconnect threshold adjustment */
|
||||
+ sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL,
|
||||
+ data->cfg->disc_thresh, 2);
|
||||
|
@ -102,7 +100,7 @@ index 35b1fa3..bae54f7 100644
|
|||
|
||||
sun4i_usb_phy_passby(phy, 1);
|
||||
|
||||
@@ -726,6 +741,13 @@ static const struct sun4i_usb_phy_cfg sun8i_a33_cfg = {
|
||||
@@ -726,6 +741,13 @@ static const struct sun4i_usb_phy_cfg su
|
||||
.dedicated_clocks = true,
|
||||
};
|
||||
|
||||
|
@ -116,7 +114,7 @@ index 35b1fa3..bae54f7 100644
|
|||
static const struct of_device_id sun4i_usb_phy_of_match[] = {
|
||||
{ .compatible = "allwinner,sun4i-a10-usb-phy", .data = &sun4i_a10_cfg },
|
||||
{ .compatible = "allwinner,sun5i-a13-usb-phy", .data = &sun5i_a13_cfg },
|
||||
@@ -733,6 +755,7 @@ static const struct of_device_id sun4i_usb_phy_of_match[] = {
|
||||
@@ -733,6 +755,7 @@ static const struct of_device_id sun4i_u
|
||||
{ .compatible = "allwinner,sun7i-a20-usb-phy", .data = &sun7i_a20_cfg },
|
||||
{ .compatible = "allwinner,sun8i-a23-usb-phy", .data = &sun8i_a23_cfg },
|
||||
{ .compatible = "allwinner,sun8i-a33-usb-phy", .data = &sun8i_a33_cfg },
|
||||
|
|
|
@ -17,8 +17,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
drivers/clk/sunxi/clk-usb.c | 12 ++++++++++++
|
||||
2 files changed, 13 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
|
||||
index 8a47b77..a94bb56 100644
|
||||
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
|
||||
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
|
||||
@@ -68,6 +68,7 @@ Required properties:
|
||||
|
@ -29,11 +27,9 @@ index 8a47b77..a94bb56 100644
|
|||
"allwinner,sun9i-a80-usb-mod-clk" - for usb gates + resets on A80
|
||||
"allwinner,sun9i-a80-usb-phy-clk" - for usb phy gates + resets on A80
|
||||
|
||||
diff --git a/drivers/clk/sunxi/clk-usb.c b/drivers/clk/sunxi/clk-usb.c
|
||||
index 1a72cd6..67b8e38 100644
|
||||
--- a/drivers/clk/sunxi/clk-usb.c
|
||||
+++ b/drivers/clk/sunxi/clk-usb.c
|
||||
@@ -243,3 +243,15 @@ static void __init sun9i_a80_usb_phy_setup(struct device_node *node)
|
||||
@@ -243,3 +243,15 @@ static void __init sun9i_a80_usb_phy_set
|
||||
sunxi_usb_clk_setup(node, &sun9i_a80_usb_phy_data, &a80_usb_phy_lock);
|
||||
}
|
||||
CLK_OF_DECLARE(sun9i_a80_usb_phy, "allwinner,sun9i-a80-usb-phy-clk", sun9i_a80_usb_phy_setup);
|
||||
|
|
|
@ -20,11 +20,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
3 files changed, 176 insertions(+)
|
||||
create mode 100644 drivers/clk/sunxi/clk-a10-ve.c
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
|
||||
index 014eab8..e59f57b 100644
|
||||
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
|
||||
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
|
||||
@@ -76,6 +76,7 @@ Required properties:
|
||||
@@ -71,6 +71,7 @@ Required properties:
|
||||
"allwinner,sun8i-h3-usb-clk" - for usb gates + resets on H3
|
||||
"allwinner,sun9i-a80-usb-mod-clk" - for usb gates + resets on A80
|
||||
"allwinner,sun9i-a80-usb-phy-clk" - for usb phy gates + resets on A80
|
||||
|
@ -32,7 +30,7 @@ index 014eab8..e59f57b 100644
|
|||
|
||||
Required properties for all clocks:
|
||||
- reg : shall be the control register address for the clock.
|
||||
@@ -95,6 +96,9 @@ Required properties for all clocks:
|
||||
@@ -90,6 +91,9 @@ Required properties for all clocks:
|
||||
And "allwinner,*-usb-clk" clocks also require:
|
||||
- reset-cells : shall be set to 1
|
||||
|
||||
|
@ -42,8 +40,6 @@ index 014eab8..e59f57b 100644
|
|||
The "allwinner,sun9i-a80-mmc-config-clk" clock also requires:
|
||||
- #reset-cells : shall be set to 1
|
||||
- resets : shall be the reset control phandle for the mmc block.
|
||||
diff --git a/drivers/clk/sunxi/Makefile b/drivers/clk/sunxi/Makefile
|
||||
index abf4916..1a909f9 100644
|
||||
--- a/drivers/clk/sunxi/Makefile
|
||||
+++ b/drivers/clk/sunxi/Makefile
|
||||
@@ -7,6 +7,7 @@ obj-y += clk-a10-codec.o
|
||||
|
@ -54,9 +50,6 @@ index abf4916..1a909f9 100644
|
|||
obj-y += clk-a20-gmac.o
|
||||
obj-y += clk-mod0.o
|
||||
obj-y += clk-simple-gates.o
|
||||
diff --git a/drivers/clk/sunxi/clk-a10-ve.c b/drivers/clk/sunxi/clk-a10-ve.c
|
||||
new file mode 100644
|
||||
index 0000000..044c171
|
||||
--- /dev/null
|
||||
+++ b/drivers/clk/sunxi/clk-a10-ve.c
|
||||
@@ -0,0 +1,171 @@
|
||||
|
|
|
@ -12,8 +12,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
arch/arm/boot/dts/sun4i-a10.dtsi | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
index 849d024..2c8f5e6 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
@@ -520,6 +520,15 @@
|
||||
|
|
|
@ -12,8 +12,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
arch/arm/boot/dts/sun7i-a20.dtsi | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
|
||||
index 21169c0..0940a78 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
|
||||
@@ -527,6 +527,15 @@
|
||||
|
|
|
@ -11,11 +11,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
drivers/usb/musb/sunxi.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
|
||||
index d9b0dc4..4b472b8 100644
|
||||
--- a/drivers/usb/musb/sunxi.c
|
||||
+++ b/drivers/usb/musb/sunxi.c
|
||||
@@ -194,6 +194,10 @@ static irqreturn_t sunxi_musb_interrupt(int irq, void *__hci)
|
||||
@@ -194,6 +194,10 @@ static irqreturn_t sunxi_musb_interrupt(
|
||||
musb_writeb(musb->mregs, MUSB_FADDR, 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -17,11 +17,9 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|||
drivers/crypto/sunxi-ss/sun4i-ss-core.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-core.c b/drivers/crypto/sunxi-ss/sun4i-ss-core.c
|
||||
index eab6fe2..107cd2a 100644
|
||||
--- a/drivers/crypto/sunxi-ss/sun4i-ss-core.c
|
||||
+++ b/drivers/crypto/sunxi-ss/sun4i-ss-core.c
|
||||
@@ -39,6 +39,7 @@ static struct sun4i_ss_alg_template ss_algs[] = {
|
||||
@@ -39,6 +39,7 @@ static struct sun4i_ss_alg_template ss_a
|
||||
.import = sun4i_hash_import_md5,
|
||||
.halg = {
|
||||
.digestsize = MD5_DIGEST_SIZE,
|
||||
|
@ -29,7 +27,7 @@ index eab6fe2..107cd2a 100644
|
|||
.base = {
|
||||
.cra_name = "md5",
|
||||
.cra_driver_name = "md5-sun4i-ss",
|
||||
@@ -66,6 +67,7 @@ static struct sun4i_ss_alg_template ss_algs[] = {
|
||||
@@ -66,6 +67,7 @@ static struct sun4i_ss_alg_template ss_a
|
||||
.import = sun4i_hash_import_sha1,
|
||||
.halg = {
|
||||
.digestsize = SHA1_DIGEST_SIZE,
|
||||
|
|
|
@ -16,8 +16,6 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
4 files changed, 522 insertions(+)
|
||||
create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
|
||||
index b321b26..e6ba602 100644
|
||||
--- a/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
|
||||
+++ b/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
|
||||
@@ -18,6 +18,7 @@ Required properties:
|
||||
|
@ -28,8 +26,6 @@ index b321b26..e6ba602 100644
|
|||
|
||||
- reg: Should contain the register physical address and length for the
|
||||
pin controller.
|
||||
diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig
|
||||
index e68fd95..89ab7f5 100644
|
||||
--- a/drivers/pinctrl/sunxi/Kconfig
|
||||
+++ b/drivers/pinctrl/sunxi/Kconfig
|
||||
@@ -51,6 +51,10 @@ config PINCTRL_SUN8I_A23_R
|
||||
|
@ -43,19 +39,14 @@ index e68fd95..89ab7f5 100644
|
|||
config PINCTRL_SUN9I_A80
|
||||
def_bool MACH_SUN9I
|
||||
select PINCTRL_SUNXI_COMMON
|
||||
diff --git a/drivers/pinctrl/sunxi/Makefile b/drivers/pinctrl/sunxi/Makefile
|
||||
index e080290..6bd818e 100644
|
||||
--- a/drivers/pinctrl/sunxi/Makefile
|
||||
+++ b/drivers/pinctrl/sunxi/Makefile
|
||||
@@ -13,4 +13,5 @@ obj-$(CONFIG_PINCTRL_SUN8I_A23) += pinctrl-sun8i-a23.o
|
||||
@@ -13,4 +13,5 @@ obj-$(CONFIG_PINCTRL_SUN8I_A23) += pinc
|
||||
obj-$(CONFIG_PINCTRL_SUN8I_A23_R) += pinctrl-sun8i-a23-r.o
|
||||
obj-$(CONFIG_PINCTRL_SUN8I_A33) += pinctrl-sun8i-a33.o
|
||||
obj-$(CONFIG_PINCTRL_SUN8I_A83T) += pinctrl-sun8i-a83t.o
|
||||
+obj-$(CONFIG_PINCTRL_SUN8I_H3) += pinctrl-sun8i-h3.o
|
||||
obj-$(CONFIG_PINCTRL_SUN9I_A80) += pinctrl-sun9i-a80.o
|
||||
diff --git a/drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c b/drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c
|
||||
new file mode 100644
|
||||
index 0000000..98d465d
|
||||
--- /dev/null
|
||||
+++ b/drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c
|
||||
@@ -0,0 +1,516 @@
|
||||
|
|
|
@ -12,8 +12,6 @@ Signed-off-by: Jens Kuske <jenskuske@gmail.com>
|
|||
drivers/reset/reset-sunxi.c | 30 +++++++++++++++++++---
|
||||
2 files changed, 28 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt b/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt
|
||||
index c8f77571..e11f023 100644
|
||||
--- a/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt
|
||||
+++ b/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt
|
||||
@@ -8,6 +8,7 @@ Required properties:
|
||||
|
@ -24,11 +22,9 @@ index c8f77571..e11f023 100644
|
|||
- reg: should be register base and length as documented in the
|
||||
datasheet
|
||||
- #reset-cells: 1, see below
|
||||
diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c
|
||||
index 3d95c87..c91e146 100644
|
||||
--- a/drivers/reset/reset-sunxi.c
|
||||
+++ b/drivers/reset/reset-sunxi.c
|
||||
@@ -75,7 +75,9 @@ static struct reset_control_ops sunxi_reset_ops = {
|
||||
@@ -75,7 +75,9 @@ static struct reset_control_ops sunxi_re
|
||||
.deassert = sunxi_reset_deassert,
|
||||
};
|
||||
|
||||
|
@ -39,7 +35,7 @@ index 3d95c87..c91e146 100644
|
|||
{
|
||||
struct sunxi_reset_data *data;
|
||||
struct resource res;
|
||||
@@ -108,6 +110,7 @@ static int sunxi_reset_init(struct device_node *np)
|
||||
@@ -108,6 +110,7 @@ static int sunxi_reset_init(struct devic
|
||||
data->rcdev.nr_resets = size * 32;
|
||||
data->rcdev.ops = &sunxi_reset_ops;
|
||||
data->rcdev.of_node = np;
|
||||
|
@ -47,7 +43,7 @@ index 3d95c87..c91e146 100644
|
|||
reset_controller_register(&data->rcdev);
|
||||
|
||||
return 0;
|
||||
@@ -117,6 +120,21 @@ static int sunxi_reset_init(struct device_node *np)
|
||||
@@ -117,6 +120,21 @@ err_alloc:
|
||||
return ret;
|
||||
};
|
||||
|
||||
|
@ -69,7 +65,7 @@ index 3d95c87..c91e146 100644
|
|||
/*
|
||||
* These are the reset controller we need to initialize early on in
|
||||
* our system, before we can even think of using a regular device
|
||||
@@ -124,15 +142,21 @@ static int sunxi_reset_init(struct device_node *np)
|
||||
@@ -124,15 +142,21 @@ err_alloc:
|
||||
*/
|
||||
static const struct of_device_id sunxi_early_reset_dt_ids[] __initdata = {
|
||||
{ .compatible = "allwinner,sun6i-a31-ahb1-reset", },
|
||||
|
@ -80,12 +76,13 @@ index 3d95c87..c91e146 100644
|
|||
void __init sun6i_reset_init(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
-
|
||||
- for_each_matching_node(np, sunxi_early_reset_dt_ids)
|
||||
- sunxi_reset_init(np);
|
||||
+ const struct of_device_id *match;
|
||||
+ int (*of_xlate)(struct reset_controller_dev *rcdev,
|
||||
+ const struct of_phandle_args *reset_spec);
|
||||
|
||||
- for_each_matching_node(np, sunxi_early_reset_dt_ids)
|
||||
- sunxi_reset_init(np);
|
||||
+
|
||||
+ for_each_matching_node_and_match(np, sunxi_early_reset_dt_ids, &match) {
|
||||
+ of_xlate = match->data;
|
||||
+ sunxi_reset_init(np, of_xlate);
|
||||
|
|
|
@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
arch/arm/boot/dts/sun8i-h3.dtsi | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
index 1524130e..cbab947 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
@@ -269,6 +269,18 @@
|
||||
|
|
|
@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
arch/arm/boot/dts/sun8i-h3.dtsi | 101 ++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 101 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
index cbab947..1169f515 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
@@ -362,6 +362,107 @@
|
||||
|
|
|
@ -13,8 +13,6 @@ Signed-off-by: Jens Kuske <jenskuske@gmail.com>
|
|||
arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 44 ++++++++++++++++++++++++++++
|
||||
1 file changed, 44 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
|
||||
index e67df59..1cb6c66 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
|
||||
@@ -58,6 +58,35 @@
|
||||
|
|
|
@ -12,11 +12,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|||
drivers/clk/sunxi/clk-sun8i-bus-gates.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/clk/sunxi/clk-sun8i-bus-gates.c b/drivers/clk/sunxi/clk-sun8i-bus-gates.c
|
||||
index 7ab60c5..b8c7753 100644
|
||||
--- a/drivers/clk/sunxi/clk-sun8i-bus-gates.c
|
||||
+++ b/drivers/clk/sunxi/clk-sun8i-bus-gates.c
|
||||
@@ -40,7 +40,7 @@ static void __init sun8i_h3_bus_gates_init(struct device_node *node)
|
||||
@@ -40,7 +40,7 @@ static void __init sun8i_h3_bus_gates_in
|
||||
const __be32 *p;
|
||||
int number, i;
|
||||
u8 clk_bit;
|
||||
|
|
|
@ -16,11 +16,9 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
|
|||
include/linux/reset.h | 9 +++++++++
|
||||
2 files changed, 38 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/reset/core.c b/drivers/reset/core.c
|
||||
index 7955e00..81ae17d 100644
|
||||
--- a/drivers/reset/core.c
|
||||
+++ b/drivers/reset/core.c
|
||||
@@ -141,27 +141,24 @@ int reset_control_status(struct reset_control *rstc)
|
||||
@@ -141,27 +141,24 @@ int reset_control_status(struct reset_co
|
||||
EXPORT_SYMBOL_GPL(reset_control_status);
|
||||
|
||||
/**
|
||||
|
@ -56,7 +54,7 @@ index 7955e00..81ae17d 100644
|
|||
ret = of_parse_phandle_with_args(node, "resets", "#reset-cells",
|
||||
index, &args);
|
||||
if (ret)
|
||||
@@ -202,6 +199,27 @@ struct reset_control *of_reset_control_get(struct device_node *node,
|
||||
@@ -202,6 +199,27 @@ struct reset_control *of_reset_control_g
|
||||
|
||||
return rstc;
|
||||
}
|
||||
|
@ -84,11 +82,9 @@ index 7955e00..81ae17d 100644
|
|||
EXPORT_SYMBOL_GPL(of_reset_control_get);
|
||||
|
||||
/**
|
||||
diff --git a/include/linux/reset.h b/include/linux/reset.h
|
||||
index 7f65f9c..6db74ad 100644
|
||||
--- a/include/linux/reset.h
|
||||
+++ b/include/linux/reset.h
|
||||
@@ -38,6 +38,9 @@ static inline struct reset_control *devm_reset_control_get_optional(
|
||||
@@ -38,6 +38,9 @@ static inline struct reset_control *devm
|
||||
struct reset_control *of_reset_control_get(struct device_node *node,
|
||||
const char *id);
|
||||
|
||||
|
@ -98,7 +94,7 @@ index 7f65f9c..6db74ad 100644
|
|||
#else
|
||||
|
||||
static inline int reset_control_reset(struct reset_control *rstc)
|
||||
@@ -106,6 +109,12 @@ static inline struct reset_control *of_reset_control_get(
|
||||
@@ -106,6 +109,12 @@ static inline struct reset_control *of_r
|
||||
return ERR_PTR(-ENOSYS);
|
||||
}
|
||||
|
||||
|
|
|
@ -21,11 +21,9 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
|
|||
drivers/reset/core.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/reset/core.c b/drivers/reset/core.c
|
||||
index 81ae17d..77cfc49 100644
|
||||
--- a/drivers/reset/core.c
|
||||
+++ b/drivers/reset/core.c
|
||||
@@ -215,9 +215,12 @@ struct reset_control *of_reset_control_get(struct device_node *node,
|
||||
@@ -215,9 +215,12 @@ struct reset_control *of_reset_control_g
|
||||
{
|
||||
int index = 0;
|
||||
|
||||
|
|
|
@ -13,11 +13,9 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
|
|||
include/linux/reset.h | 8 ++++----
|
||||
2 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/reset/core.c b/drivers/reset/core.c
|
||||
index 77cfc49..9ab9290 100644
|
||||
--- a/drivers/reset/core.c
|
||||
+++ b/drivers/reset/core.c
|
||||
@@ -95,7 +95,7 @@ int reset_control_reset(struct reset_control *rstc)
|
||||
@@ -95,7 +95,7 @@ int reset_control_reset(struct reset_con
|
||||
if (rstc->rcdev->ops->reset)
|
||||
return rstc->rcdev->ops->reset(rstc->rcdev, rstc->id);
|
||||
|
||||
|
@ -26,7 +24,7 @@ index 77cfc49..9ab9290 100644
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(reset_control_reset);
|
||||
|
||||
@@ -108,7 +108,7 @@ int reset_control_assert(struct reset_control *rstc)
|
||||
@@ -108,7 +108,7 @@ int reset_control_assert(struct reset_co
|
||||
if (rstc->rcdev->ops->assert)
|
||||
return rstc->rcdev->ops->assert(rstc->rcdev, rstc->id);
|
||||
|
||||
|
@ -35,7 +33,7 @@ index 77cfc49..9ab9290 100644
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(reset_control_assert);
|
||||
|
||||
@@ -121,7 +121,7 @@ int reset_control_deassert(struct reset_control *rstc)
|
||||
@@ -121,7 +121,7 @@ int reset_control_deassert(struct reset_
|
||||
if (rstc->rcdev->ops->deassert)
|
||||
return rstc->rcdev->ops->deassert(rstc->rcdev, rstc->id);
|
||||
|
||||
|
@ -44,7 +42,7 @@ index 77cfc49..9ab9290 100644
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(reset_control_deassert);
|
||||
|
||||
@@ -136,7 +136,7 @@ int reset_control_status(struct reset_control *rstc)
|
||||
@@ -136,7 +136,7 @@ int reset_control_status(struct reset_co
|
||||
if (rstc->rcdev->ops->status)
|
||||
return rstc->rcdev->ops->status(rstc->rcdev, rstc->id);
|
||||
|
||||
|
@ -53,11 +51,9 @@ index 77cfc49..9ab9290 100644
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(reset_control_status);
|
||||
|
||||
diff --git a/include/linux/reset.h b/include/linux/reset.h
|
||||
index 6db74ad..c4c097d 100644
|
||||
--- a/include/linux/reset.h
|
||||
+++ b/include/linux/reset.h
|
||||
@@ -74,7 +74,7 @@ static inline void reset_control_put(struct reset_control *rstc)
|
||||
@@ -74,7 +74,7 @@ static inline void reset_control_put(str
|
||||
|
||||
static inline int device_reset_optional(struct device *dev)
|
||||
{
|
||||
|
@ -66,7 +62,7 @@ index 6db74ad..c4c097d 100644
|
|||
}
|
||||
|
||||
static inline struct reset_control *__must_check reset_control_get(
|
||||
@@ -94,19 +94,19 @@ static inline struct reset_control *__must_check devm_reset_control_get(
|
||||
@@ -94,19 +94,19 @@ static inline struct reset_control *__mu
|
||||
static inline struct reset_control *reset_control_get_optional(
|
||||
struct device *dev, const char *id)
|
||||
{
|
||||
|
|
|
@ -22,11 +22,9 @@ Changes in v2:
|
|||
include/linux/reset.h | 2 +
|
||||
3 files changed, 116 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/drivers/reset/core.c b/drivers/reset/core.c
|
||||
index 9ab9290..8c3436c 100644
|
||||
--- a/drivers/reset/core.c
|
||||
+++ b/drivers/reset/core.c
|
||||
@@ -22,16 +22,29 @@ static DEFINE_MUTEX(reset_controller_list_mutex);
|
||||
@@ -22,16 +22,29 @@ static DEFINE_MUTEX(reset_controller_lis
|
||||
static LIST_HEAD(reset_controller_list);
|
||||
|
||||
/**
|
||||
|
@ -59,7 +57,7 @@ index 9ab9290..8c3436c 100644
|
|||
};
|
||||
|
||||
/**
|
||||
@@ -66,6 +79,8 @@ int reset_controller_register(struct reset_controller_dev *rcdev)
|
||||
@@ -66,6 +79,8 @@ int reset_controller_register(struct res
|
||||
rcdev->of_xlate = of_reset_simple_xlate;
|
||||
}
|
||||
|
||||
|
@ -68,7 +66,7 @@ index 9ab9290..8c3436c 100644
|
|||
mutex_lock(&reset_controller_list_mutex);
|
||||
list_add(&rcdev->list, &reset_controller_list);
|
||||
mutex_unlock(&reset_controller_list_mutex);
|
||||
@@ -93,7 +108,7 @@ EXPORT_SYMBOL_GPL(reset_controller_unregister);
|
||||
@@ -93,7 +108,7 @@ EXPORT_SYMBOL_GPL(reset_controller_unreg
|
||||
int reset_control_reset(struct reset_control *rstc)
|
||||
{
|
||||
if (rstc->rcdev->ops->reset)
|
||||
|
@ -143,7 +141,7 @@ index 9ab9290..8c3436c 100644
|
|||
* reset_control_status - returns a negative errno if not supported, a
|
||||
* positive value if the reset line is asserted, or zero if the reset
|
||||
* line is not asserted.
|
||||
@@ -134,12 +191,47 @@ EXPORT_SYMBOL_GPL(reset_control_deassert);
|
||||
@@ -134,12 +191,47 @@ EXPORT_SYMBOL_GPL(reset_control_deassert
|
||||
int reset_control_status(struct reset_control *rstc)
|
||||
{
|
||||
if (rstc->rcdev->ops->status)
|
||||
|
@ -192,7 +190,7 @@ index 9ab9290..8c3436c 100644
|
|||
/**
|
||||
* of_reset_control_get_by_index - Lookup and obtain a reference to a reset
|
||||
* controller by index.
|
||||
@@ -155,6 +247,7 @@ struct reset_control *of_reset_control_get_by_index(struct device_node *node,
|
||||
@@ -155,6 +247,7 @@ struct reset_control *of_reset_control_g
|
||||
{
|
||||
struct reset_control *rstc = ERR_PTR(-EPROBE_DEFER);
|
||||
struct reset_controller_dev *r, *rcdev;
|
||||
|
@ -200,7 +198,7 @@ index 9ab9290..8c3436c 100644
|
|||
struct of_phandle_args args;
|
||||
int rstc_id;
|
||||
int ret;
|
||||
@@ -186,16 +279,22 @@ struct reset_control *of_reset_control_get_by_index(struct device_node *node,
|
||||
@@ -186,16 +279,22 @@ struct reset_control *of_reset_control_g
|
||||
}
|
||||
|
||||
try_module_get(rcdev->owner);
|
||||
|
@ -225,7 +223,7 @@ index 9ab9290..8c3436c 100644
|
|||
|
||||
return rstc;
|
||||
}
|
||||
@@ -259,6 +358,10 @@ void reset_control_put(struct reset_control *rstc)
|
||||
@@ -259,6 +358,10 @@ void reset_control_put(struct reset_cont
|
||||
if (IS_ERR(rstc))
|
||||
return;
|
||||
|
||||
|
@ -236,8 +234,6 @@ index 9ab9290..8c3436c 100644
|
|||
module_put(rstc->rcdev->owner);
|
||||
kfree(rstc);
|
||||
}
|
||||
diff --git a/include/linux/reset-controller.h b/include/linux/reset-controller.h
|
||||
index ce6b962..7f2cbd1 100644
|
||||
--- a/include/linux/reset-controller.h
|
||||
+++ b/include/linux/reset-controller.h
|
||||
@@ -31,6 +31,7 @@ struct of_phandle_args;
|
||||
|
@ -256,11 +252,9 @@ index ce6b962..7f2cbd1 100644
|
|||
struct device_node *of_node;
|
||||
int of_reset_n_cells;
|
||||
int (*of_xlate)(struct reset_controller_dev *rcdev,
|
||||
diff --git a/include/linux/reset.h b/include/linux/reset.h
|
||||
index c4c097d..1cca8ce 100644
|
||||
--- a/include/linux/reset.h
|
||||
+++ b/include/linux/reset.h
|
||||
@@ -11,6 +11,8 @@ int reset_control_reset(struct reset_control *rstc);
|
||||
@@ -11,6 +11,8 @@ int reset_control_reset(struct reset_con
|
||||
int reset_control_assert(struct reset_control *rstc);
|
||||
int reset_control_deassert(struct reset_control *rstc);
|
||||
int reset_control_status(struct reset_control *rstc);
|
||||
|
|
|
@ -19,8 +19,6 @@ Changes in v2:
|
|||
drivers/usb/host/ehci-platform.c | 47 +++++++++++++---------
|
||||
2 files changed, 30 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/usb/usb-ehci.txt b/Documentation/devicetree/bindings/usb/usb-ehci.txt
|
||||
index a12d601..0701812 100644
|
||||
--- a/Documentation/devicetree/bindings/usb/usb-ehci.txt
|
||||
+++ b/Documentation/devicetree/bindings/usb/usb-ehci.txt
|
||||
@@ -18,7 +18,7 @@ Optional properties:
|
||||
|
@ -32,8 +30,6 @@ index a12d601..0701812 100644
|
|||
|
||||
Example (Sequoia 440EPx):
|
||||
ehci@e0000300 {
|
||||
diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
|
||||
index bd7082f2..6fbf32a 100644
|
||||
--- a/drivers/usb/host/ehci-platform.c
|
||||
+++ b/drivers/usb/host/ehci-platform.c
|
||||
@@ -39,11 +39,12 @@
|
||||
|
@ -50,7 +46,7 @@ index bd7082f2..6fbf32a 100644
|
|||
struct phy **phys;
|
||||
int num_phys;
|
||||
bool reset_on_resume;
|
||||
@@ -149,7 +150,7 @@ static int ehci_platform_probe(struct platform_device *dev)
|
||||
@@ -149,7 +150,7 @@ static int ehci_platform_probe(struct pl
|
||||
struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev);
|
||||
struct ehci_platform_priv *priv;
|
||||
struct ehci_hcd *ehci;
|
||||
|
@ -59,7 +55,7 @@ index bd7082f2..6fbf32a 100644
|
|||
|
||||
if (usb_disabled())
|
||||
return -ENODEV;
|
||||
@@ -232,18 +233,24 @@ static int ehci_platform_probe(struct platform_device *dev)
|
||||
@@ -232,18 +233,24 @@ static int ehci_platform_probe(struct pl
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -95,7 +91,7 @@ index bd7082f2..6fbf32a 100644
|
|||
}
|
||||
|
||||
if (pdata->big_endian_desc)
|
||||
@@ -300,8 +307,10 @@ static int ehci_platform_probe(struct platform_device *dev)
|
||||
@@ -302,8 +309,10 @@ err_power:
|
||||
if (pdata->power_off)
|
||||
pdata->power_off(dev);
|
||||
err_reset:
|
||||
|
@ -108,7 +104,7 @@ index bd7082f2..6fbf32a 100644
|
|||
err_put_clks:
|
||||
while (--clk >= 0)
|
||||
clk_put(priv->clks[clk]);
|
||||
@@ -319,15 +328,17 @@ static int ehci_platform_remove(struct platform_device *dev)
|
||||
@@ -321,15 +330,17 @@ static int ehci_platform_remove(struct p
|
||||
struct usb_hcd *hcd = platform_get_drvdata(dev);
|
||||
struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev);
|
||||
struct ehci_platform_priv *priv = hcd_to_ehci_priv(hcd);
|
||||
|
|
|
@ -19,8 +19,6 @@ Changes in v2:
|
|||
drivers/usb/host/ohci-platform.c | 49 +++++++++++++---------
|
||||
2 files changed, 30 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/usb/usb-ohci.txt b/Documentation/devicetree/bindings/usb/usb-ohci.txt
|
||||
index 19233b7..9df4569 100644
|
||||
--- a/Documentation/devicetree/bindings/usb/usb-ohci.txt
|
||||
+++ b/Documentation/devicetree/bindings/usb/usb-ohci.txt
|
||||
@@ -14,7 +14,7 @@ Optional properties:
|
||||
|
@ -32,8 +30,6 @@ index 19233b7..9df4569 100644
|
|||
|
||||
Example:
|
||||
|
||||
diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
|
||||
index c2669f18..7d8bbc4 100644
|
||||
--- a/drivers/usb/host/ohci-platform.c
|
||||
+++ b/drivers/usb/host/ohci-platform.c
|
||||
@@ -33,11 +33,12 @@
|
||||
|
@ -50,7 +46,7 @@ index c2669f18..7d8bbc4 100644
|
|||
struct phy **phys;
|
||||
int num_phys;
|
||||
};
|
||||
@@ -117,7 +118,7 @@ static int ohci_platform_probe(struct platform_device *dev)
|
||||
@@ -117,7 +118,7 @@ static int ohci_platform_probe(struct pl
|
||||
struct usb_ohci_pdata *pdata = dev_get_platdata(&dev->dev);
|
||||
struct ohci_platform_priv *priv;
|
||||
struct ohci_hcd *ohci;
|
||||
|
@ -59,7 +55,7 @@ index c2669f18..7d8bbc4 100644
|
|||
|
||||
if (usb_disabled())
|
||||
return -ENODEV;
|
||||
@@ -195,19 +196,23 @@ static int ohci_platform_probe(struct platform_device *dev)
|
||||
@@ -195,19 +196,23 @@ static int ohci_platform_probe(struct pl
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -96,7 +92,7 @@ index c2669f18..7d8bbc4 100644
|
|||
}
|
||||
|
||||
if (pdata->big_endian_desc)
|
||||
@@ -265,8 +270,10 @@ static int ohci_platform_probe(struct platform_device *dev)
|
||||
@@ -265,8 +270,10 @@ err_power:
|
||||
if (pdata->power_off)
|
||||
pdata->power_off(dev);
|
||||
err_reset:
|
||||
|
@ -109,7 +105,7 @@ index c2669f18..7d8bbc4 100644
|
|||
err_put_clks:
|
||||
while (--clk >= 0)
|
||||
clk_put(priv->clks[clk]);
|
||||
@@ -284,15 +291,17 @@ static int ohci_platform_remove(struct platform_device *dev)
|
||||
@@ -284,15 +291,17 @@ static int ohci_platform_remove(struct p
|
||||
struct usb_hcd *hcd = platform_get_drvdata(dev);
|
||||
struct usb_ohci_pdata *pdata = dev_get_platdata(&dev->dev);
|
||||
struct ohci_platform_priv *priv = hcd_to_ohci_priv(hcd);
|
||||
|
|
|
@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
arch/arm/boot/dts/sun7i-a20-pcduino3.dts | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
|
||||
index 861a4a6..067f365 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
|
||||
@@ -111,6 +111,11 @@
|
||||
|
|
|
@ -18,11 +18,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
2 files changed, 298 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index cc7309b..6f8deac 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -639,6 +639,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
|
||||
@@ -638,6 +638,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
|
||||
sun7i-a20-cubietruck.dtb \
|
||||
sun7i-a20-hummingbird.dtb \
|
||||
sun7i-a20-i12-tvbox.dtb \
|
||||
|
@ -30,9 +28,6 @@ index cc7309b..6f8deac 100644
|
|||
sun7i-a20-m3.dtb \
|
||||
sun7i-a20-mk808c.dtb \
|
||||
sun7i-a20-olimex-som-evb.dtb \
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
|
||||
new file mode 100644
|
||||
index 0000000..975b0b2
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
|
||||
@@ -0,0 +1,297 @@
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/scripts/Makefile.lib
|
||||
+++ b/scripts/Makefile.lib
|
||||
@@ -324,7 +324,7 @@
|
||||
@@ -324,7 +324,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
|
||||
|
||||
quiet_cmd_lzma = LZMA $@
|
||||
cmd_lzma = (cat $(filter-out FORCE,$^) | \
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/mfd/rdc321x-southbridge.c
|
||||
+++ b/drivers/mfd/rdc321x-southbridge.c
|
||||
@@ -85,6 +85,8 @@
|
||||
@@ -85,6 +85,8 @@ static int rdc321x_sb_probe(struct pci_d
|
||||
rdc321x_gpio_pdata.sb_pdev = pdev;
|
||||
rdc321x_wdt_pdata.sb_pdev = pdev;
|
||||
|
||||
|
|
Loading…
Reference in a new issue