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:
@@ -358,7 +358,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
help
|
||||
--- a/drivers/mtd/nand/fsl_ifc_nand.c
|
||||
+++ b/drivers/mtd/nand/fsl_ifc_nand.c
|
||||
@@ -904,9 +904,12 @@ static int fsl_ifc_chip_init(struct fsl_
|
||||
@@ -898,7 +898,7 @@ static int fsl_ifc_chip_init(struct fsl_
|
||||
chip->ecc.algo = NAND_ECC_HAMMING;
|
||||
}
|
||||
|
||||
@@ -366,12 +366,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
+ if (ctrl->version >= FSL_IFC_VERSION_1_1_0)
|
||||
fsl_ifc_sram_init(priv);
|
||||
|
||||
+ if (ctrl->version >= FSL_IFC_VERSION_2_0_0)
|
||||
+ priv->bufnum_mask = (priv->bufnum_mask * 2) + 1;
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
--- a/include/linux/fsl_ifc.h
|
||||
+++ b/include/linux/fsl_ifc.h
|
||||
@@ -274,6 +274,8 @@
|
||||
@@ -383,7 +378,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
/* Addressing Mode-ROW0+n/COL0 */
|
||||
#define IFC_NAND_NCFGR_ADDR_MODE_RC0 0x00000000
|
||||
/* Addressing Mode-ROW0+n/COL0+n */
|
||||
@@ -861,6 +863,11 @@ struct fsl_ifc_ctrl {
|
||||
@@ -857,6 +859,11 @@ struct fsl_ifc_ctrl {
|
||||
u32 nand_stat;
|
||||
wait_queue_head_t nand_wait;
|
||||
bool little_endian;
|
||||
|
||||
@@ -2060,7 +2060,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
--- a/drivers/pci/quirks.c
|
||||
+++ b/drivers/pci/quirks.c
|
||||
@@ -4649,3 +4649,11 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_IN
|
||||
@@ -4654,3 +4654,11 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_IN
|
||||
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2031, quirk_no_aersid);
|
||||
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2032, quirk_no_aersid);
|
||||
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2033, quirk_no_aersid);
|
||||
|
||||
@@ -25,7 +25,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
+obj-$(CONFIG_QUICC_ENGINE) += irq-qeic.o
|
||||
--- a/drivers/irqchip/irq-gic-v3-its.c
|
||||
+++ b/drivers/irqchip/irq-gic-v3-its.c
|
||||
@@ -1659,6 +1659,7 @@ static int its_init_domain(struct fwnode
|
||||
@@ -1658,6 +1658,7 @@ static int its_init_domain(struct fwnode
|
||||
|
||||
inner_domain->parent = its_parent;
|
||||
inner_domain->bus_token = DOMAIN_BUS_NEXUS;
|
||||
|
||||
@@ -217,7 +217,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
|
||||
static void esdhc_of_set_clock(struct sdhci_host *host, unsigned int clock)
|
||||
@@ -421,17 +466,34 @@ static void esdhc_of_set_clock(struct sd
|
||||
@@ -421,12 +466,15 @@ static void esdhc_of_set_clock(struct sd
|
||||
struct sdhci_esdhc *esdhc = sdhci_pltfm_priv(pltfm_host);
|
||||
int pre_div = 1;
|
||||
int div = 1;
|
||||
@@ -234,26 +234,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
/* Workaround to start pre_div at 2 for VNN < VENDOR_V_23 */
|
||||
if (esdhc->vendor_ver < VENDOR_V_23)
|
||||
pre_div = 2;
|
||||
|
||||
+ /*
|
||||
+ * Limit SD clock to 167MHz for ls1046a according to its datasheet
|
||||
+ */
|
||||
+ if (clock > 167000000 &&
|
||||
+ of_find_compatible_node(NULL, NULL, "fsl,ls1046a-esdhc"))
|
||||
+ clock = 167000000;
|
||||
+
|
||||
+ /*
|
||||
+ * Limit SD clock to 125MHz for ls1012a according to its datasheet
|
||||
+ */
|
||||
+ if (clock > 125000000 &&
|
||||
+ of_find_compatible_node(NULL, NULL, "fsl,ls1012a-esdhc"))
|
||||
+ clock = 125000000;
|
||||
+
|
||||
/* Workaround to reduce the clock frequency for p1010 esdhc */
|
||||
if (of_find_compatible_node(NULL, NULL, "fsl,p1010-esdhc")) {
|
||||
if (clock > 20000000)
|
||||
@@ -440,9 +502,15 @@ static void esdhc_of_set_clock(struct sd
|
||||
@@ -454,9 +502,15 @@ static void esdhc_of_set_clock(struct sd
|
||||
clock -= 5000000;
|
||||
}
|
||||
|
||||
@@ -271,7 +252,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
sdhci_writel(host, temp, ESDHC_SYSTEM_CONTROL);
|
||||
|
||||
while (host->max_clk / pre_div / 16 > clock && pre_div < 256)
|
||||
@@ -462,7 +530,20 @@ static void esdhc_of_set_clock(struct sd
|
||||
@@ -476,7 +530,20 @@ static void esdhc_of_set_clock(struct sd
|
||||
| (div << ESDHC_DIVIDER_SHIFT)
|
||||
| (pre_div << ESDHC_PREDIV_SHIFT));
|
||||
sdhci_writel(host, temp, ESDHC_SYSTEM_CONTROL);
|
||||
@@ -293,7 +274,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
|
||||
static void esdhc_pltfm_set_bus_width(struct sdhci_host *host, int width)
|
||||
@@ -487,12 +568,136 @@ static void esdhc_pltfm_set_bus_width(st
|
||||
@@ -501,12 +568,136 @@ static void esdhc_pltfm_set_bus_width(st
|
||||
sdhci_writel(host, ctrl, ESDHC_PROCTL);
|
||||
}
|
||||
|
||||
@@ -430,7 +411,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
@@ -575,10 +780,19 @@ static const struct sdhci_pltfm_data sdh
|
||||
@@ -589,10 +780,19 @@ static const struct sdhci_pltfm_data sdh
|
||||
.ops = &sdhci_esdhc_le_ops,
|
||||
};
|
||||
|
||||
@@ -450,7 +431,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
u16 host_ver;
|
||||
|
||||
pltfm_host = sdhci_priv(host);
|
||||
@@ -588,6 +802,36 @@ static void esdhc_init(struct platform_d
|
||||
@@ -602,6 +802,36 @@ static void esdhc_init(struct platform_d
|
||||
esdhc->vendor_ver = (host_ver & SDHCI_VENDOR_VER_MASK) >>
|
||||
SDHCI_VENDOR_VER_SHIFT;
|
||||
esdhc->spec_ver = host_ver & SDHCI_SPEC_VER_MASK;
|
||||
@@ -487,7 +468,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
|
||||
static int sdhci_esdhc_probe(struct platform_device *pdev)
|
||||
@@ -610,6 +854,11 @@ static int sdhci_esdhc_probe(struct plat
|
||||
@@ -624,6 +854,11 @@ static int sdhci_esdhc_probe(struct plat
|
||||
if (IS_ERR(host))
|
||||
return PTR_ERR(host);
|
||||
|
||||
|
||||
@@ -1267,7 +1267,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
EXPORT_SYMBOL(qe_issue_cmd);
|
||||
|
||||
@@ -166,8 +182,8 @@ static unsigned int brg_clk = 0;
|
||||
@@ -169,8 +185,8 @@ static unsigned int brg_clk = 0;
|
||||
unsigned int qe_get_brg_clk(void)
|
||||
{
|
||||
struct device_node *qe;
|
||||
@@ -1275,10 +1275,10 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
- const u32 *prop;
|
||||
+ u32 val;
|
||||
+ int ret;
|
||||
unsigned int mod;
|
||||
|
||||
if (brg_clk)
|
||||
return brg_clk;
|
||||
@@ -179,9 +195,9 @@ unsigned int qe_get_brg_clk(void)
|
||||
@@ -183,9 +199,9 @@ unsigned int qe_get_brg_clk(void)
|
||||
return brg_clk;
|
||||
}
|
||||
|
||||
@@ -1291,7 +1291,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
of_node_put(qe);
|
||||
|
||||
@@ -221,7 +237,7 @@ int qe_setbrg(enum qe_clock brg, unsigne
|
||||
@@ -234,7 +250,7 @@ int qe_setbrg(enum qe_clock brg, unsigne
|
||||
tempval = ((divisor - 1) << QE_BRGC_DIVISOR_SHIFT) |
|
||||
QE_BRGC_ENABLE | div16;
|
||||
|
||||
@@ -1300,7 +1300,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -355,9 +371,9 @@ static int qe_sdma_init(void)
|
||||
@@ -368,9 +384,9 @@ static int qe_sdma_init(void)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
@@ -1313,7 +1313,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -395,14 +411,14 @@ static void qe_upload_microcode(const vo
|
||||
@@ -408,14 +424,14 @@ static void qe_upload_microcode(const vo
|
||||
"uploading microcode '%s'\n", ucode->id);
|
||||
|
||||
/* Use auto-increment */
|
||||
@@ -1332,7 +1332,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -487,7 +503,7 @@ int qe_upload_firmware(const struct qe_f
|
||||
@@ -500,7 +516,7 @@ int qe_upload_firmware(const struct qe_f
|
||||
* If the microcode calls for it, split the I-RAM.
|
||||
*/
|
||||
if (!firmware->split)
|
||||
@@ -1341,7 +1341,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
if (firmware->soc.model)
|
||||
printk(KERN_INFO
|
||||
@@ -521,11 +537,11 @@ int qe_upload_firmware(const struct qe_f
|
||||
@@ -534,11 +550,11 @@ int qe_upload_firmware(const struct qe_f
|
||||
u32 trap = be32_to_cpu(ucode->traps[j]);
|
||||
|
||||
if (trap)
|
||||
@@ -1355,7 +1355,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
|
||||
qe_firmware_uploaded = 1;
|
||||
@@ -644,9 +660,9 @@ EXPORT_SYMBOL(qe_get_num_of_risc);
|
||||
@@ -657,9 +673,9 @@ EXPORT_SYMBOL(qe_get_num_of_risc);
|
||||
unsigned int qe_get_num_of_snums(void)
|
||||
{
|
||||
struct device_node *qe;
|
||||
@@ -1367,7 +1367,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
num_of_snums = 28; /* The default number of snum for threads is 28 */
|
||||
qe = of_find_compatible_node(NULL, NULL, "fsl,qe");
|
||||
@@ -660,9 +676,9 @@ unsigned int qe_get_num_of_snums(void)
|
||||
@@ -673,9 +689,9 @@ unsigned int qe_get_num_of_snums(void)
|
||||
return num_of_snums;
|
||||
}
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
reg &= ~DWC3_GFLADJ_30MHZ_MASK;
|
||||
reg |= DWC3_GFLADJ_30MHZ_SDBND_SEL | dwc->fladj;
|
||||
dwc3_writel(dwc->regs, DWC3_GFLADJ, reg);
|
||||
@@ -579,6 +599,99 @@ static int dwc3_phy_setup(struct dwc3 *d
|
||||
@@ -585,6 +605,99 @@ static int dwc3_phy_setup(struct dwc3 *d
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -318,7 +318,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
static void dwc3_core_exit(struct dwc3 *dwc)
|
||||
{
|
||||
dwc3_event_buffers_cleanup(dwc);
|
||||
@@ -721,6 +834,8 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -727,6 +840,8 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
if (ret)
|
||||
goto err1;
|
||||
|
||||
@@ -327,7 +327,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
/* Adjust Frame Length */
|
||||
dwc3_frame_length_adjustment(dwc);
|
||||
|
||||
@@ -919,11 +1034,117 @@ static void dwc3_core_exit_mode(struct d
|
||||
@@ -925,11 +1040,117 @@ static void dwc3_core_exit_mode(struct d
|
||||
}
|
||||
}
|
||||
|
||||
@@ -445,7 +445,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
struct resource *res;
|
||||
struct dwc3 *dwc;
|
||||
u8 lpm_nyet_threshold;
|
||||
@@ -955,6 +1176,11 @@ static int dwc3_probe(struct platform_de
|
||||
@@ -961,6 +1182,11 @@ static int dwc3_probe(struct platform_de
|
||||
dwc->xhci_resources[0].flags = res->flags;
|
||||
dwc->xhci_resources[0].name = res->name;
|
||||
|
||||
@@ -457,7 +457,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
res->start += DWC3_GLOBALS_REGS_START;
|
||||
|
||||
/*
|
||||
@@ -997,6 +1223,12 @@ static int dwc3_probe(struct platform_de
|
||||
@@ -1003,6 +1229,12 @@ static int dwc3_probe(struct platform_de
|
||||
dwc->usb3_lpm_capable = device_property_read_bool(dev,
|
||||
"snps,usb3_lpm_capable");
|
||||
|
||||
@@ -470,7 +470,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
dwc->disable_scramble_quirk = device_property_read_bool(dev,
|
||||
"snps,disable_scramble_quirk");
|
||||
dwc->u2exit_lfps_quirk = device_property_read_bool(dev,
|
||||
@@ -1041,6 +1273,8 @@ static int dwc3_probe(struct platform_de
|
||||
@@ -1047,6 +1279,8 @@ static int dwc3_probe(struct platform_de
|
||||
dwc->hird_threshold = hird_threshold
|
||||
| (dwc->is_utmi_l1_suspend << 4);
|
||||
|
||||
@@ -479,7 +479,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
platform_set_drvdata(pdev, dwc);
|
||||
dwc3_cache_hwparams(dwc);
|
||||
|
||||
@@ -1064,6 +1298,11 @@ static int dwc3_probe(struct platform_de
|
||||
@@ -1070,6 +1304,11 @@ static int dwc3_probe(struct platform_de
|
||||
if (ret < 0)
|
||||
goto err1;
|
||||
|
||||
@@ -534,7 +534,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
/* Global Debug Queue/FIFO Space Available Register */
|
||||
#define DWC3_GDBGFIFOSPACE_NUM(n) ((n) & 0x1f)
|
||||
#define DWC3_GDBGFIFOSPACE_TYPE(n) (((n) << 5) & 0x1e0)
|
||||
@@ -180,7 +207,6 @@
|
||||
@@ -182,7 +209,6 @@
|
||||
#define DWC3_GCTL_CLK_PIPE (1)
|
||||
#define DWC3_GCTL_CLK_PIPEHALF (2)
|
||||
#define DWC3_GCTL_CLK_MASK (3)
|
||||
@@ -542,7 +542,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
#define DWC3_GCTL_PRTCAP(n) (((n) & (3 << 12)) >> 12)
|
||||
#define DWC3_GCTL_PRTCAPDIR(n) ((n) << 12)
|
||||
#define DWC3_GCTL_PRTCAP_HOST 1
|
||||
@@ -289,6 +315,10 @@
|
||||
@@ -292,6 +318,10 @@
|
||||
/* Global Frame Length Adjustment Register */
|
||||
#define DWC3_GFLADJ_30MHZ_SDBND_SEL (1 << 7)
|
||||
#define DWC3_GFLADJ_30MHZ_MASK 0x3f
|
||||
@@ -553,7 +553,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
/* Global User Control Register 2 */
|
||||
#define DWC3_GUCTL2_RST_ACTBITLATER (1 << 14)
|
||||
@@ -753,6 +783,7 @@ struct dwc3_scratchpad_array {
|
||||
@@ -756,6 +786,7 @@ struct dwc3_scratchpad_array {
|
||||
* @regs: base address for our registers
|
||||
* @regs_size: address space size
|
||||
* @fladj: frame length adjustment
|
||||
@@ -561,7 +561,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
* @irq_gadget: peripheral controller's IRQ number
|
||||
* @nr_scratch: number of scratch buffers
|
||||
* @u1u2: only used on revisions <1.83a for workaround
|
||||
@@ -829,6 +860,7 @@ struct dwc3_scratchpad_array {
|
||||
@@ -832,6 +863,7 @@ struct dwc3_scratchpad_array {
|
||||
* 1 - -3.5dB de-emphasis
|
||||
* 2 - No de-emphasis
|
||||
* 3 - Reserved
|
||||
@@ -569,7 +569,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
*/
|
||||
struct dwc3 {
|
||||
struct usb_ctrlrequest *ctrl_req;
|
||||
@@ -847,6 +879,7 @@ struct dwc3 {
|
||||
@@ -850,6 +882,7 @@ struct dwc3 {
|
||||
spinlock_t lock;
|
||||
|
||||
struct device *dev;
|
||||
@@ -577,7 +577,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
struct platform_device *xhci;
|
||||
struct resource xhci_resources[DWC3_XHCI_RESOURCES_NUM];
|
||||
@@ -872,6 +905,12 @@ struct dwc3 {
|
||||
@@ -875,6 +908,12 @@ struct dwc3 {
|
||||
enum usb_phy_interface hsphy_mode;
|
||||
|
||||
u32 fladj;
|
||||
@@ -590,7 +590,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
u32 irq_gadget;
|
||||
u32 nr_scratch;
|
||||
u32 u1u2;
|
||||
@@ -948,9 +987,12 @@ struct dwc3 {
|
||||
@@ -951,9 +990,12 @@ struct dwc3 {
|
||||
unsigned ep0_bounced:1;
|
||||
unsigned ep0_expect_in:1;
|
||||
unsigned has_hibernation:1;
|
||||
@@ -603,7 +603,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
unsigned pending_events:1;
|
||||
unsigned pullups_connected:1;
|
||||
unsigned setup_packet_pending:1;
|
||||
@@ -971,9 +1013,16 @@ struct dwc3 {
|
||||
@@ -974,9 +1016,16 @@ struct dwc3 {
|
||||
unsigned dis_rxdet_inp3_quirk:1;
|
||||
unsigned dis_u2_freeclk_exists_quirk:1;
|
||||
unsigned dis_del_phy_power_chg_quirk:1;
|
||||
|
||||
Reference in New Issue
Block a user