kernel: update kernel 4.9 to version 4.9.91
* Refreshed patches. * Deleted 210-Revert-led-core-Fix-brightness-setting-when-setting-.patch (was accepted upstream) * Deleted 812-pci-dwc-fix-enumeration.patch (was accepted upstream) Compile and run tested on lantiq Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
@@ -19,7 +19,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
|
||||
--- a/drivers/clk/bcm/clk-bcm2835.c
|
||||
+++ b/drivers/clk/bcm/clk-bcm2835.c
|
||||
@@ -1262,6 +1262,15 @@ static struct clk_hw *bcm2835_register_c
|
||||
@@ -1266,6 +1266,15 @@ static struct clk_hw *bcm2835_register_c
|
||||
init.name = data->name;
|
||||
init.flags = data->flags | CLK_IGNORE_UNUSED;
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
|
||||
|
||||
--- a/drivers/clk/bcm/clk-bcm2835.c
|
||||
+++ b/drivers/clk/bcm/clk-bcm2835.c
|
||||
@@ -1903,8 +1903,15 @@ static int bcm2835_clk_probe(struct plat
|
||||
@@ -1907,8 +1907,15 @@ static int bcm2835_clk_probe(struct plat
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -30,7 +30,7 @@ Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
|
||||
}
|
||||
|
||||
static const struct of_device_id bcm2835_clk_of_match[] = {
|
||||
@@ -1921,7 +1928,11 @@ static struct platform_driver bcm2835_cl
|
||||
@@ -1925,7 +1932,11 @@ static struct platform_driver bcm2835_cl
|
||||
.probe = bcm2835_clk_probe,
|
||||
};
|
||||
|
||||
|
||||
@@ -707,7 +707,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
msleep(100); /* Cool down */
|
||||
--- a/drivers/usb/core/message.c
|
||||
+++ b/drivers/usb/core/message.c
|
||||
@@ -1908,6 +1908,85 @@ free_interfaces:
|
||||
@@ -1912,6 +1912,85 @@ free_interfaces:
|
||||
if (cp->string == NULL &&
|
||||
!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
|
||||
cp->string = usb_cache_string(dev, cp->desc.iConfiguration);
|
||||
|
||||
@@ -14,7 +14,7 @@ use the same logic.
|
||||
|
||||
--- a/drivers/tty/serial/amba-pl011.c
|
||||
+++ b/drivers/tty/serial/amba-pl011.c
|
||||
@@ -2441,7 +2441,12 @@ static int pl011_setup_port(struct devic
|
||||
@@ -2446,7 +2446,12 @@ static int pl011_setup_port(struct devic
|
||||
if (IS_ERR(base))
|
||||
return PTR_ERR(base);
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
|
||||
|
||||
--- a/drivers/usb/dwc2/hcd.c
|
||||
+++ b/drivers/usb/dwc2/hcd.c
|
||||
@@ -4365,6 +4365,9 @@ static int _dwc2_hcd_suspend(struct usb_
|
||||
@@ -4366,6 +4366,9 @@ static int _dwc2_hcd_suspend(struct usb_
|
||||
if (!HCD_HW_ACCESSIBLE(hcd))
|
||||
goto unlock;
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
u32 ctl_reg;
|
||||
u32 div_reg;
|
||||
|
||||
@@ -1017,10 +1020,60 @@ bcm2835_clk_is_pllc(struct clk_hw *hw)
|
||||
@@ -1021,10 +1024,60 @@ bcm2835_clk_is_pllc(struct clk_hw *hw)
|
||||
return strncmp(clk_hw_get_name(hw), "pllc", 4) == 0;
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
struct clk_hw *parent, *best_parent = NULL;
|
||||
bool current_parent_is_pllc;
|
||||
unsigned long rate, best_rate = 0;
|
||||
@@ -1048,9 +1101,8 @@ static int bcm2835_clock_determine_rate(
|
||||
@@ -1052,9 +1105,8 @@ static int bcm2835_clock_determine_rate(
|
||||
if (bcm2835_clk_is_pllc(parent) && !current_parent_is_pllc)
|
||||
continue;
|
||||
|
||||
@@ -108,7 +108,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
if (rate > best_rate && rate <= req->rate) {
|
||||
best_parent = parent;
|
||||
best_prate = prate;
|
||||
@@ -1271,6 +1323,13 @@ static struct clk_hw *bcm2835_register_c
|
||||
@@ -1275,6 +1327,13 @@ static struct clk_hw *bcm2835_register_c
|
||||
if ((cprman_read(cprman, data->ctl_reg) & CM_ENABLE) == 0)
|
||||
init.flags &= ~CLK_IS_CRITICAL;
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
--- a/drivers/clk/bcm/clk-bcm2835.c
|
||||
+++ b/drivers/clk/bcm/clk-bcm2835.c
|
||||
@@ -1870,7 +1870,12 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1874,7 +1874,12 @@ static const struct bcm2835_clk_desc clk
|
||||
.ctl_reg = CM_VECCTL,
|
||||
.div_reg = CM_VECDIV,
|
||||
.int_bits = 4,
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
--- a/drivers/clk/bcm/clk-bcm2835.c
|
||||
+++ b/drivers/clk/bcm/clk-bcm2835.c
|
||||
@@ -1029,7 +1029,7 @@ static unsigned long bcm2835_clock_choos
|
||||
@@ -1033,7 +1033,7 @@ static unsigned long bcm2835_clock_choos
|
||||
struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
|
||||
struct bcm2835_cprman *cprman = clock->cprman;
|
||||
const struct bcm2835_clock_data *data = clock->data;
|
||||
|
||||
@@ -31,7 +31,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
};
|
||||
|
||||
struct bcm2835_clock_data {
|
||||
@@ -1252,7 +1253,7 @@ bcm2835_register_pll_divider(struct bcm2
|
||||
@@ -1256,7 +1257,7 @@ bcm2835_register_pll_divider(struct bcm2
|
||||
init.num_parents = 1;
|
||||
init.name = divider_name;
|
||||
init.ops = &bcm2835_pll_divider_clk_ops;
|
||||
@@ -40,7 +40,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
divider = devm_kzalloc(cprman->dev, sizeof(*divider), GFP_KERNEL);
|
||||
if (!divider)
|
||||
@@ -1475,7 +1476,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1479,7 +1480,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLA_CORE,
|
||||
.load_mask = CM_PLLA_LOADCORE,
|
||||
.hold_mask = CM_PLLA_HOLDCORE,
|
||||
@@ -50,7 +50,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_PLLA_PER] = REGISTER_PLL_DIV(
|
||||
.name = "plla_per",
|
||||
.source_pll = "plla",
|
||||
@@ -1483,7 +1485,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1487,7 +1489,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLA_PER,
|
||||
.load_mask = CM_PLLA_LOADPER,
|
||||
.hold_mask = CM_PLLA_HOLDPER,
|
||||
@@ -60,7 +60,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_PLLA_DSI0] = REGISTER_PLL_DIV(
|
||||
.name = "plla_dsi0",
|
||||
.source_pll = "plla",
|
||||
@@ -1499,7 +1502,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1503,7 +1506,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLA_CCP2,
|
||||
.load_mask = CM_PLLA_LOADCCP2,
|
||||
.hold_mask = CM_PLLA_HOLDCCP2,
|
||||
@@ -70,7 +70,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/* PLLB is used for the ARM's clock. */
|
||||
[BCM2835_PLLB] = REGISTER_PLL(
|
||||
@@ -1523,7 +1527,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1527,7 +1531,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLB_ARM,
|
||||
.load_mask = CM_PLLB_LOADARM,
|
||||
.hold_mask = CM_PLLB_HOLDARM,
|
||||
@@ -80,7 +80,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/*
|
||||
* PLLC is the core PLL, used to drive the core VPU clock.
|
||||
@@ -1552,7 +1557,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1556,7 +1561,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLC_CORE0,
|
||||
.load_mask = CM_PLLC_LOADCORE0,
|
||||
.hold_mask = CM_PLLC_HOLDCORE0,
|
||||
@@ -90,7 +90,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_PLLC_CORE1] = REGISTER_PLL_DIV(
|
||||
.name = "pllc_core1",
|
||||
.source_pll = "pllc",
|
||||
@@ -1560,7 +1566,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1564,7 +1570,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLC_CORE1,
|
||||
.load_mask = CM_PLLC_LOADCORE1,
|
||||
.hold_mask = CM_PLLC_HOLDCORE1,
|
||||
@@ -100,7 +100,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_PLLC_CORE2] = REGISTER_PLL_DIV(
|
||||
.name = "pllc_core2",
|
||||
.source_pll = "pllc",
|
||||
@@ -1568,7 +1575,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1572,7 +1579,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLC_CORE2,
|
||||
.load_mask = CM_PLLC_LOADCORE2,
|
||||
.hold_mask = CM_PLLC_HOLDCORE2,
|
||||
@@ -110,7 +110,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_PLLC_PER] = REGISTER_PLL_DIV(
|
||||
.name = "pllc_per",
|
||||
.source_pll = "pllc",
|
||||
@@ -1576,7 +1584,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1580,7 +1588,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLC_PER,
|
||||
.load_mask = CM_PLLC_LOADPER,
|
||||
.hold_mask = CM_PLLC_HOLDPER,
|
||||
@@ -120,7 +120,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/*
|
||||
* PLLD is the display PLL, used to drive DSI display panels.
|
||||
@@ -1605,7 +1614,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1609,7 +1618,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLD_CORE,
|
||||
.load_mask = CM_PLLD_LOADCORE,
|
||||
.hold_mask = CM_PLLD_HOLDCORE,
|
||||
@@ -130,7 +130,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_PLLD_PER] = REGISTER_PLL_DIV(
|
||||
.name = "plld_per",
|
||||
.source_pll = "plld",
|
||||
@@ -1613,7 +1623,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1617,7 +1627,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLD_PER,
|
||||
.load_mask = CM_PLLD_LOADPER,
|
||||
.hold_mask = CM_PLLD_HOLDPER,
|
||||
@@ -140,7 +140,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_PLLD_DSI0] = REGISTER_PLL_DIV(
|
||||
.name = "plld_dsi0",
|
||||
.source_pll = "plld",
|
||||
@@ -1658,7 +1669,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1662,7 +1673,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLH_RCAL,
|
||||
.load_mask = CM_PLLH_LOADRCAL,
|
||||
.hold_mask = 0,
|
||||
@@ -150,7 +150,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_PLLH_AUX] = REGISTER_PLL_DIV(
|
||||
.name = "pllh_aux",
|
||||
.source_pll = "pllh",
|
||||
@@ -1666,7 +1678,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1670,7 +1682,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLH_AUX,
|
||||
.load_mask = CM_PLLH_LOADAUX,
|
||||
.hold_mask = 0,
|
||||
@@ -160,7 +160,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_PLLH_PIX] = REGISTER_PLL_DIV(
|
||||
.name = "pllh_pix",
|
||||
.source_pll = "pllh",
|
||||
@@ -1674,7 +1687,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1678,7 +1691,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.a2w_reg = A2W_PLLH_PIX,
|
||||
.load_mask = CM_PLLH_LOADPIX,
|
||||
.hold_mask = 0,
|
||||
|
||||
@@ -76,7 +76,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/* Must be last */
|
||||
struct clk_hw_onecell_data onecell;
|
||||
@@ -907,6 +928,9 @@ static long bcm2835_clock_rate_from_divi
|
||||
@@ -911,6 +932,9 @@ static long bcm2835_clock_rate_from_divi
|
||||
const struct bcm2835_clock_data *data = clock->data;
|
||||
u64 temp;
|
||||
|
||||
@@ -86,7 +86,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
/*
|
||||
* The divisor is a 12.12 fixed point field, but only some of
|
||||
* the bits are populated in any given clock.
|
||||
@@ -930,7 +954,12 @@ static unsigned long bcm2835_clock_get_r
|
||||
@@ -934,7 +958,12 @@ static unsigned long bcm2835_clock_get_r
|
||||
struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
|
||||
struct bcm2835_cprman *cprman = clock->cprman;
|
||||
const struct bcm2835_clock_data *data = clock->data;
|
||||
@@ -100,7 +100,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
return bcm2835_clock_rate_from_divisor(clock, parent_rate, div);
|
||||
}
|
||||
@@ -1209,7 +1238,7 @@ static struct clk_hw *bcm2835_register_p
|
||||
@@ -1213,7 +1242,7 @@ static struct clk_hw *bcm2835_register_p
|
||||
memset(&init, 0, sizeof(init));
|
||||
|
||||
/* All of the PLLs derive from the external oscillator. */
|
||||
@@ -109,7 +109,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
init.num_parents = 1;
|
||||
init.name = data->name;
|
||||
init.ops = &bcm2835_pll_clk_ops;
|
||||
@@ -1295,18 +1324,22 @@ static struct clk_hw *bcm2835_register_c
|
||||
@@ -1299,18 +1328,22 @@ static struct clk_hw *bcm2835_register_c
|
||||
struct bcm2835_clock *clock;
|
||||
struct clk_init_data init;
|
||||
const char *parents[1 << CM_SRC_BITS];
|
||||
@@ -139,7 +139,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
}
|
||||
|
||||
memset(&init, 0, sizeof(init));
|
||||
@@ -1442,6 +1475,47 @@ static const char *const bcm2835_clock_v
|
||||
@@ -1446,6 +1479,47 @@ static const char *const bcm2835_clock_v
|
||||
__VA_ARGS__)
|
||||
|
||||
/*
|
||||
@@ -187,7 +187,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
* the real definition of all the pll, pll_dividers and clocks
|
||||
* these make use of the above REGISTER_* macros
|
||||
*/
|
||||
@@ -1904,6 +1978,18 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1908,6 +1982,18 @@ static const struct bcm2835_clk_desc clk
|
||||
.div_reg = CM_DSI1EDIV,
|
||||
.int_bits = 4,
|
||||
.frac_bits = 8),
|
||||
@@ -206,7 +206,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/* the gates */
|
||||
|
||||
@@ -1962,8 +2048,19 @@ static int bcm2835_clk_probe(struct plat
|
||||
@@ -1966,8 +2052,19 @@ static int bcm2835_clk_probe(struct plat
|
||||
if (IS_ERR(cprman->regs))
|
||||
return PTR_ERR(cprman->regs);
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
};
|
||||
|
||||
struct bcm2835_gate_data {
|
||||
@@ -1008,6 +1067,17 @@ static int bcm2835_clock_on(struct clk_h
|
||||
@@ -1012,6 +1071,17 @@ static int bcm2835_clock_on(struct clk_h
|
||||
CM_GATE);
|
||||
spin_unlock(&cprman->regs_lock);
|
||||
|
||||
@@ -125,7 +125,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1774,7 +1844,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1778,7 +1848,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.ctl_reg = CM_OTPCTL,
|
||||
.div_reg = CM_OTPDIV,
|
||||
.int_bits = 4,
|
||||
@@ -135,7 +135,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
/*
|
||||
* Used for a 1Mhz clock for the system clocksource, and also used
|
||||
* bythe watchdog timer and the camera pulse generator.
|
||||
@@ -1808,13 +1879,15 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1812,13 +1883,15 @@ static const struct bcm2835_clk_desc clk
|
||||
.ctl_reg = CM_H264CTL,
|
||||
.div_reg = CM_H264DIV,
|
||||
.int_bits = 4,
|
||||
@@ -153,7 +153,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/*
|
||||
* Secondary SDRAM clock. Used for low-voltage modes when the PLL
|
||||
@@ -1825,13 +1898,15 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1829,13 +1902,15 @@ static const struct bcm2835_clk_desc clk
|
||||
.ctl_reg = CM_SDCCTL,
|
||||
.div_reg = CM_SDCDIV,
|
||||
.int_bits = 6,
|
||||
@@ -171,7 +171,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
/*
|
||||
* VPU clock. This doesn't have an enable bit, since it drives
|
||||
* the bus for everything else, and is special so it doesn't need
|
||||
@@ -1845,7 +1920,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1849,7 +1924,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.int_bits = 12,
|
||||
.frac_bits = 8,
|
||||
.flags = CLK_IS_CRITICAL,
|
||||
@@ -181,7 +181,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/* clocks with per parent mux */
|
||||
[BCM2835_CLOCK_AVEO] = REGISTER_PER_CLK(
|
||||
@@ -1853,19 +1929,22 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1857,19 +1933,22 @@ static const struct bcm2835_clk_desc clk
|
||||
.ctl_reg = CM_AVEOCTL,
|
||||
.div_reg = CM_AVEODIV,
|
||||
.int_bits = 4,
|
||||
@@ -207,7 +207,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_CLOCK_DFT] = REGISTER_PER_CLK(
|
||||
.name = "dft",
|
||||
.ctl_reg = CM_DFTCTL,
|
||||
@@ -1877,7 +1956,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1881,7 +1960,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.ctl_reg = CM_DPICTL,
|
||||
.div_reg = CM_DPIDIV,
|
||||
.int_bits = 4,
|
||||
@@ -217,7 +217,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/* Arasan EMMC clock */
|
||||
[BCM2835_CLOCK_EMMC] = REGISTER_PER_CLK(
|
||||
@@ -1885,7 +1965,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1889,7 +1969,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.ctl_reg = CM_EMMCCTL,
|
||||
.div_reg = CM_EMMCDIV,
|
||||
.int_bits = 4,
|
||||
@@ -227,7 +227,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/* General purpose (GPIO) clocks */
|
||||
[BCM2835_CLOCK_GP0] = REGISTER_PER_CLK(
|
||||
@@ -1894,7 +1975,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1898,7 +1979,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.div_reg = CM_GP0DIV,
|
||||
.int_bits = 12,
|
||||
.frac_bits = 12,
|
||||
@@ -237,7 +237,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_CLOCK_GP1] = REGISTER_PER_CLK(
|
||||
.name = "gp1",
|
||||
.ctl_reg = CM_GP1CTL,
|
||||
@@ -1902,7 +1984,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1906,7 +1988,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.int_bits = 12,
|
||||
.frac_bits = 12,
|
||||
.flags = CLK_IS_CRITICAL,
|
||||
@@ -247,7 +247,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
[BCM2835_CLOCK_GP2] = REGISTER_PER_CLK(
|
||||
.name = "gp2",
|
||||
.ctl_reg = CM_GP2CTL,
|
||||
@@ -1917,40 +2000,46 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1921,40 +2004,46 @@ static const struct bcm2835_clk_desc clk
|
||||
.ctl_reg = CM_HSMCTL,
|
||||
.div_reg = CM_HSMDIV,
|
||||
.int_bits = 4,
|
||||
@@ -300,7 +300,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/* TV encoder clock. Only operating frequency is 108Mhz. */
|
||||
[BCM2835_CLOCK_VEC] = REGISTER_PER_CLK(
|
||||
@@ -1963,7 +2052,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1967,7 +2056,8 @@ static const struct bcm2835_clk_desc clk
|
||||
* Allow rate change propagation only on PLLH_AUX which is
|
||||
* assigned index 7 in the parent array.
|
||||
*/
|
||||
@@ -310,7 +310,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
|
||||
/* dsi clocks */
|
||||
[BCM2835_CLOCK_DSI0E] = REGISTER_PER_CLK(
|
||||
@@ -1971,25 +2061,29 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -1975,25 +2065,29 @@ static const struct bcm2835_clk_desc clk
|
||||
.ctl_reg = CM_DSI0ECTL,
|
||||
.div_reg = CM_DSI0EDIV,
|
||||
.int_bits = 4,
|
||||
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/clk/bcm/clk-bcm2835.c
|
||||
+++ b/drivers/clk/bcm/clk-bcm2835.c
|
||||
@@ -1366,6 +1366,11 @@ bcm2835_register_pll_divider(struct bcm2
|
||||
@@ -1370,6 +1370,11 @@ bcm2835_register_pll_divider(struct bcm2
|
||||
divider->div.hw.init = &init;
|
||||
divider->div.table = NULL;
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
cma-192 = <0>,"-0+1-2-3-4";
|
||||
--- a/drivers/clk/bcm/clk-bcm2835.c
|
||||
+++ b/drivers/clk/bcm/clk-bcm2835.c
|
||||
@@ -1298,6 +1298,8 @@ static const struct clk_ops bcm2835_vpu_
|
||||
@@ -1302,6 +1302,8 @@ static const struct clk_ops bcm2835_vpu_
|
||||
.debug_init = bcm2835_clock_debug_init,
|
||||
};
|
||||
|
||||
@@ -57,7 +57,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman,
|
||||
const struct bcm2835_pll_data *data)
|
||||
{
|
||||
@@ -1314,6 +1316,9 @@ static struct clk_hw *bcm2835_register_p
|
||||
@@ -1318,6 +1320,9 @@ static struct clk_hw *bcm2835_register_p
|
||||
init.ops = &bcm2835_pll_clk_ops;
|
||||
init.flags = CLK_IGNORE_UNUSED;
|
||||
|
||||
@@ -67,7 +67,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
pll = kzalloc(sizeof(*pll), GFP_KERNEL);
|
||||
if (!pll)
|
||||
return NULL;
|
||||
@@ -1367,8 +1372,10 @@ bcm2835_register_pll_divider(struct bcm2
|
||||
@@ -1371,8 +1376,10 @@ bcm2835_register_pll_divider(struct bcm2
|
||||
divider->div.table = NULL;
|
||||
|
||||
if (!(cprman_read(cprman, data->cm_reg) & data->hold_mask)) {
|
||||
@@ -80,7 +80,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
}
|
||||
|
||||
divider->cprman = cprman;
|
||||
@@ -2104,6 +2111,8 @@ static const struct bcm2835_clk_desc clk
|
||||
@@ -2108,6 +2115,8 @@ static const struct bcm2835_clk_desc clk
|
||||
.ctl_reg = CM_PERIICTL),
|
||||
};
|
||||
|
||||
@@ -89,7 +89,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/*
|
||||
* Permanently take a reference on the parent of the SDRAM clock.
|
||||
*
|
||||
@@ -2123,6 +2132,19 @@ static int bcm2835_mark_sdc_parent_criti
|
||||
@@ -2127,6 +2136,19 @@ static int bcm2835_mark_sdc_parent_criti
|
||||
return clk_prepare_enable(parent);
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static int bcm2835_clk_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
@@ -2132,6 +2154,7 @@ static int bcm2835_clk_probe(struct plat
|
||||
@@ -2136,6 +2158,7 @@ static int bcm2835_clk_probe(struct plat
|
||||
const struct bcm2835_clk_desc *desc;
|
||||
const size_t asize = ARRAY_SIZE(clk_desc_array);
|
||||
size_t i;
|
||||
@@ -117,7 +117,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
int ret;
|
||||
|
||||
cprman = devm_kzalloc(dev, sizeof(*cprman) +
|
||||
@@ -2147,6 +2170,13 @@ static int bcm2835_clk_probe(struct plat
|
||||
@@ -2151,6 +2174,13 @@ static int bcm2835_clk_probe(struct plat
|
||||
if (IS_ERR(cprman->regs))
|
||||
return PTR_ERR(cprman->regs);
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/tty/serial/amba-pl011.c
|
||||
+++ b/drivers/tty/serial/amba-pl011.c
|
||||
@@ -1646,6 +1646,23 @@ static void pl011_put_poll_char(struct u
|
||||
@@ -1651,6 +1651,23 @@ static void pl011_put_poll_char(struct u
|
||||
|
||||
#endif /* CONFIG_CONSOLE_POLL */
|
||||
|
||||
@@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static int pl011_hwinit(struct uart_port *port)
|
||||
{
|
||||
struct uart_amba_port *uap =
|
||||
@@ -1662,7 +1679,7 @@ static int pl011_hwinit(struct uart_port
|
||||
@@ -1667,7 +1684,7 @@ static int pl011_hwinit(struct uart_port
|
||||
if (retval)
|
||||
return retval;
|
||||
|
||||
@@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
/* Clear pending error and receive interrupts */
|
||||
pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS |
|
||||
@@ -2300,7 +2317,7 @@ static int __init pl011_console_setup(st
|
||||
@@ -2305,7 +2322,7 @@ static int __init pl011_console_setup(st
|
||||
plat->init();
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
if (uap->vendor->fixed_options) {
|
||||
baud = uap->fixed_baud;
|
||||
@@ -2372,6 +2389,7 @@ static struct uart_driver amba_reg = {
|
||||
@@ -2377,6 +2394,7 @@ static struct uart_driver amba_reg = {
|
||||
.cons = AMBA_CONSOLE,
|
||||
};
|
||||
|
||||
@@ -76,7 +76,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static int pl011_probe_dt_alias(int index, struct device *dev)
|
||||
{
|
||||
struct device_node *np;
|
||||
@@ -2403,6 +2421,7 @@ static int pl011_probe_dt_alias(int inde
|
||||
@@ -2408,6 +2426,7 @@ static int pl011_probe_dt_alias(int inde
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user