mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-02-12 18:00:00 +01:00
kernel: bump 6.12 to 6.12.67
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.67
Manually rebased:
rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch
Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000
Run-tested: flogic/glinet_gl-mt6000
Add it again.
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21629
(cherry picked from commit 2228b7048c)
Link: https://github.com/openwrt/openwrt/pull/21687
Link: https://github.com/openwrt/openwrt/pull/21825
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
beb134292d
commit
8dbd00d4cd
18 changed files with 65 additions and 67 deletions
|
|
@ -25,7 +25,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||
module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
|
||||
MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
|
||||
|
||||
@@ -1117,7 +1117,9 @@ static int usbhid_start(struct hid_devic
|
||||
@@ -1132,7 +1132,9 @@ static int usbhid_start(struct hid_devic
|
||||
*/
|
||||
switch (hid->collection->usage) {
|
||||
case HID_GD_MOUSE:
|
||||
|
|
@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||
interval = hid_mousepoll_interval;
|
||||
break;
|
||||
case HID_GD_JOYSTICK:
|
||||
@@ -1129,6 +1131,7 @@ static int usbhid_start(struct hid_devic
|
||||
@@ -1144,6 +1146,7 @@ static int usbhid_start(struct hid_devic
|
||||
interval = hid_kbpoll_interval;
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -315,7 +315,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0);
|
||||
if (ddc) {
|
||||
panel->ddc = of_find_i2c_adapter_by_node(ddc);
|
||||
@@ -2263,6 +2244,32 @@ static const struct panel_desc friendlya
|
||||
@@ -2264,6 +2245,32 @@ static const struct panel_desc friendlya
|
||||
},
|
||||
};
|
||||
|
||||
|
|
@ -348,7 +348,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
|
||||
.clock = 9000,
|
||||
.hdisplay = 480,
|
||||
@@ -2443,6 +2450,38 @@ static const struct panel_desc innolux_a
|
||||
@@ -2444,6 +2451,38 @@ static const struct panel_desc innolux_a
|
||||
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
|
||||
};
|
||||
|
||||
|
|
@ -387,7 +387,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
static const struct drm_display_mode innolux_at070tn92_mode = {
|
||||
.clock = 33333,
|
||||
.hdisplay = 800,
|
||||
@@ -3856,6 +3895,31 @@ static const struct panel_desc rocktech_
|
||||
@@ -3857,6 +3896,31 @@ static const struct panel_desc rocktech_
|
||||
.connector_type = DRM_MODE_CONNECTOR_DPI,
|
||||
};
|
||||
|
||||
|
|
@ -419,7 +419,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
static const struct display_timing rocktech_rk070er9427_timing = {
|
||||
.pixelclock = { 26400000, 33300000, 46800000 },
|
||||
.hactive = { 800, 800, 800 },
|
||||
@@ -4800,6 +4864,9 @@ static const struct of_device_id platfor
|
||||
@@ -4801,6 +4865,9 @@ static const struct of_device_id platfor
|
||||
.compatible = "friendlyarm,hd702e",
|
||||
.data = &friendlyarm_hd702e,
|
||||
}, {
|
||||
|
|
@ -429,7 +429,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
.compatible = "giantplus,gpg482739qs5",
|
||||
.data = &giantplus_gpg482739qs5
|
||||
}, {
|
||||
@@ -4821,6 +4888,9 @@ static const struct of_device_id platfor
|
||||
@@ -4822,6 +4889,9 @@ static const struct of_device_id platfor
|
||||
.compatible = "innolux,at043tn24",
|
||||
.data = &innolux_at043tn24,
|
||||
}, {
|
||||
|
|
@ -439,7 +439,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
.compatible = "innolux,at070tn92",
|
||||
.data = &innolux_at070tn92,
|
||||
}, {
|
||||
@@ -4980,6 +5050,9 @@ static const struct of_device_id platfor
|
||||
@@ -4981,6 +5051,9 @@ static const struct of_device_id platfor
|
||||
.compatible = "rocktech,rk043fn48h",
|
||||
.data = &rocktech_rk043fn48h,
|
||||
}, {
|
||||
|
|
@ -449,7 +449,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
.compatible = "rocktech,rk070er9427",
|
||||
.data = &rocktech_rk070er9427,
|
||||
}, {
|
||||
@@ -5336,6 +5409,9 @@ static const struct panel_desc_dsi osd10
|
||||
@@ -5337,6 +5410,9 @@ static const struct panel_desc_dsi osd10
|
||||
.lanes = 4,
|
||||
};
|
||||
|
||||
|
|
@ -459,7 +459,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
static const struct of_device_id dsi_of_match[] = {
|
||||
{
|
||||
.compatible = "auo,b080uan01",
|
||||
@@ -5359,20 +5435,137 @@ static const struct of_device_id dsi_of_
|
||||
@@ -5360,20 +5436,137 @@ static const struct of_device_id dsi_of_
|
||||
.compatible = "osddisplays,osd101t2045-53ts",
|
||||
.data = &osd101t2045_53ts
|
||||
}, {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
|
|||
|
||||
--- a/mm/page_alloc.c
|
||||
+++ b/mm/page_alloc.c
|
||||
@@ -207,6 +207,27 @@ EXPORT_SYMBOL(node_states);
|
||||
@@ -234,6 +234,27 @@ EXPORT_SYMBOL(node_states);
|
||||
|
||||
gfp_t gfp_allowed_mask __read_mostly = GFP_BOOT_MASK;
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
|
|||
#ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE
|
||||
unsigned int pageblock_order __read_mostly;
|
||||
#endif
|
||||
@@ -2265,12 +2286,13 @@ __rmqueue(struct zone *zone, unsigned in
|
||||
@@ -2292,12 +2313,13 @@ __rmqueue(struct zone *zone, unsigned in
|
||||
if (IS_ENABLED(CONFIG_CMA)) {
|
||||
/*
|
||||
* Balance movable allocations between regular and CMA areas by
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
},
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -1320,6 +1320,24 @@ static void dwc3_config_threshold(struct
|
||||
@@ -1322,6 +1322,24 @@ static void dwc3_config_threshold(struct
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
/**
|
||||
* dwc3_core_init - Low-level initialization of DWC3 Core
|
||||
* @dwc: Pointer to our controller context structure
|
||||
@@ -1387,6 +1405,8 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1389,6 +1407,8 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
|
||||
dwc3_config_soc_bus(dwc);
|
||||
|
||||
|
|
@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
ret = dwc3_phy_power_on(dwc);
|
||||
if (ret)
|
||||
goto err_exit_phy;
|
||||
@@ -1491,6 +1511,24 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1493,6 +1513,24 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
dwc3_writel(dwc->regs, DWC3_LLUCTL, reg);
|
||||
}
|
||||
|
||||
|
|
@ -271,7 +271,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
return 0;
|
||||
|
||||
err_power_off_phy:
|
||||
@@ -1676,6 +1714,7 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1678,6 +1716,7 @@ static void dwc3_get_properties(struct d
|
||||
u8 tx_thr_num_pkt_prd = 0;
|
||||
u8 tx_max_burst_prd = 0;
|
||||
u8 tx_fifo_resize_max_num;
|
||||
|
|
@ -279,7 +279,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
|
||||
/* default to highest possible threshold */
|
||||
lpm_nyet_threshold = 0xf;
|
||||
@@ -1696,6 +1735,9 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1698,6 +1737,9 @@ static void dwc3_get_properties(struct d
|
||||
*/
|
||||
tx_fifo_resize_max_num = 6;
|
||||
|
||||
|
|
@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
dwc->maximum_speed = usb_get_maximum_speed(dev);
|
||||
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
|
||||
dwc->dr_mode = usb_get_dr_mode(dev);
|
||||
@@ -1810,6 +1852,9 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1812,6 +1854,9 @@ static void dwc3_get_properties(struct d
|
||||
dwc->dis_split_quirk = device_property_read_bool(dev,
|
||||
"snps,dis-split-quirk");
|
||||
|
||||
|
|
@ -299,7 +299,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
|
||||
dwc->tx_de_emphasis = tx_de_emphasis;
|
||||
|
||||
@@ -1827,6 +1872,8 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1829,6 +1874,8 @@ static void dwc3_get_properties(struct d
|
||||
dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
|
||||
dwc->tx_max_burst_prd = tx_max_burst_prd;
|
||||
|
||||
|
|
@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
|
||||
}
|
||||
|
||||
@@ -2185,6 +2232,12 @@ static int dwc3_probe(struct platform_de
|
||||
@@ -2187,6 +2234,12 @@ static int dwc3_probe(struct platform_de
|
||||
if (IS_ERR(dwc->usb_psy))
|
||||
return dev_err_probe(dev, PTR_ERR(dwc->usb_psy), "couldn't get usb power supply\n");
|
||||
|
||||
|
|
@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
* @hsphy_interface: "utmi" or "ulpi"
|
||||
* @connected: true when we're connected to a host, false otherwise
|
||||
* @softconnect: true when gadget connect is called, false when disconnect runs
|
||||
@@ -1337,6 +1341,7 @@ struct dwc3 {
|
||||
@@ -1338,6 +1342,7 @@ struct dwc3 {
|
||||
u8 tx_max_burst_prd;
|
||||
u8 tx_fifo_resize_max_num;
|
||||
u8 clear_stall_protocol;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -1486,6 +1486,9 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1488,6 +1488,9 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
if (dwc->parkmode_disable_hs_quirk)
|
||||
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY)) {
|
||||
if (dwc->maximum_speed == USB_SPEED_FULL ||
|
||||
dwc->maximum_speed == USB_SPEED_HIGH)
|
||||
@@ -1832,6 +1835,8 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1834,6 +1837,8 @@ static void dwc3_get_properties(struct d
|
||||
"snps,parkmode-disable-ss-quirk");
|
||||
dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
|
||||
"snps,parkmode-disable-hs-quirk");
|
||||
|
|
@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
* @gfladj_refclk_lpm_sel: set if we need to enable SOF/ITP counter
|
||||
* running based on ref_clk
|
||||
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
|
||||
@@ -1385,6 +1388,7 @@ struct dwc3 {
|
||||
@@ -1386,6 +1389,7 @@ struct dwc3 {
|
||||
unsigned ulpi_ext_vbus_drv:1;
|
||||
unsigned parkmode_disable_ss_quirk:1;
|
||||
unsigned parkmode_disable_hs_quirk:1;
|
||||
|
|
|
|||
|
|
@ -84,9 +84,9 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
|||
#include <linux/numa_memblks.h>
|
||||
+#include <linux/cma.h>
|
||||
#include <asm/numa.h>
|
||||
#include <acpi/acpi_numa.h>
|
||||
|
||||
#define FAKE_NODE_MIN_SIZE ((u64)32 << 20)
|
||||
@@ -51,6 +52,7 @@ static int __init emu_setup_memblk(struc
|
||||
@@ -52,6 +53,7 @@ static int __init emu_setup_memblk(struc
|
||||
{
|
||||
struct numa_memblk *eb = &ei->blk[ei->nr_blks];
|
||||
struct numa_memblk *pb = &pi->blk[phys_blk];
|
||||
|
|
@ -94,7 +94,7 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
|||
|
||||
if (ei->nr_blks >= NR_NODE_MEMBLKS) {
|
||||
pr_err("NUMA: Too many emulated memblks, failing emulation\n");
|
||||
@@ -62,6 +64,10 @@ static int __init emu_setup_memblk(struc
|
||||
@@ -63,6 +65,10 @@ static int __init emu_setup_memblk(struc
|
||||
eb->end = pb->start + size;
|
||||
eb->nid = nid;
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -1480,6 +1480,12 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1482,6 +1482,12 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
if (dwc->dis_tx_ipgap_linecheck_quirk)
|
||||
reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS;
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
if (dwc->parkmode_disable_ss_quirk)
|
||||
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS;
|
||||
|
||||
@@ -1831,6 +1837,10 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1833,6 +1839,10 @@ static void dwc3_get_properties(struct d
|
||||
"snps,resume-hs-terminations");
|
||||
dwc->ulpi_ext_vbus_drv = device_property_read_bool(dev,
|
||||
"snps,ulpi-ext-vbus-drv");
|
||||
|
|
@ -66,7 +66,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
* @parkmode_disable_ss_quirk: If set, disable park mode feature for all
|
||||
* Superspeed instances.
|
||||
* @parkmode_disable_hs_quirk: If set, disable park mode feature for all
|
||||
@@ -1386,6 +1390,8 @@ struct dwc3 {
|
||||
@@ -1387,6 +1391,8 @@ struct dwc3 {
|
||||
unsigned dis_tx_ipgap_linecheck_quirk:1;
|
||||
unsigned resume_hs_terminations:1;
|
||||
unsigned ulpi_ext_vbus_drv:1;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
|
||||
--- a/drivers/nvme/host/pci.c
|
||||
+++ b/drivers/nvme/host/pci.c
|
||||
@@ -2106,6 +2106,7 @@ static void nvme_free_host_mem(struct nv
|
||||
@@ -2109,6 +2109,7 @@ static void nvme_free_host_mem(struct nv
|
||||
dev->nr_host_mem_descs = 0;
|
||||
}
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
static int __nvme_alloc_host_mem(struct nvme_dev *dev, u64 preferred,
|
||||
u32 chunk_size)
|
||||
{
|
||||
@@ -2174,9 +2175,11 @@ out:
|
||||
@@ -2177,9 +2178,11 @@ out:
|
||||
dev->host_mem_descs = NULL;
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
u64 min_chunk = min_t(u64, preferred, PAGE_SIZE * MAX_ORDER_NR_PAGES);
|
||||
u64 hmminds = max_t(u32, dev->ctrl.hmminds * 4096, PAGE_SIZE * 2);
|
||||
u64 chunk_size;
|
||||
@@ -2189,6 +2192,7 @@ static int nvme_alloc_host_mem(struct nv
|
||||
@@ -2192,6 +2195,7 @@ static int nvme_alloc_host_mem(struct nv
|
||||
nvme_free_host_mem(dev);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||
help
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -3658,6 +3658,11 @@ static int xmit_one(struct sk_buff *skb,
|
||||
@@ -3671,6 +3671,11 @@ static int xmit_one(struct sk_buff *skb,
|
||||
if (dev_nit_active(dev))
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||
}
|
||||
--- a/mm/vmstat.c
|
||||
+++ b/mm/vmstat.c
|
||||
@@ -2195,10 +2195,12 @@ void __init init_mm_internals(void)
|
||||
@@ -2197,10 +2197,12 @@ void __init init_mm_internals(void)
|
||||
start_shepherd_timer();
|
||||
#endif
|
||||
#ifdef CONFIG_PROC_FS
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
LINUX_VERSION-6.12 = .66
|
||||
LINUX_KERNEL_HASH-6.12.66 = ba3897a1c060b05a03cb4dda6f20d8c75e6f73c88b217744823a915056536eaf
|
||||
LINUX_VERSION-6.12 = .67
|
||||
LINUX_KERNEL_HASH-6.12.67 = 16805dc62e1fa5ef8a3f466f3f44a2efb171b5206d6840ced4ba5475cf12c432
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||
| NETIF_F_HW_CSUM
|
||||
--- a/drivers/net/macvlan.c
|
||||
+++ b/drivers/net/macvlan.c
|
||||
@@ -897,7 +897,7 @@ static int macvlan_hwtstamp_set(struct n
|
||||
@@ -903,7 +903,7 @@ static int macvlan_hwtstamp_set(struct n
|
||||
static struct lock_class_key macvlan_netdev_addr_lock_key;
|
||||
|
||||
#define ALWAYS_ON_OFFLOADS \
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
|||
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -435,7 +435,8 @@ static int rockchip_usb2phy_extcon_regis
|
||||
@@ -433,7 +433,8 @@ static int rockchip_usb2phy_extcon_regis
|
||||
rockchip_usb2phy_extcon_cable);
|
||||
|
||||
if (IS_ERR(edev))
|
||||
|
|
@ -28,4 +28,4 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
|||
+ "failed to allocate extcon device\n");
|
||||
|
||||
ret = devm_extcon_dev_register(rphy->dev, edev);
|
||||
if (ret) {
|
||||
if (ret)
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
|||
init.parent_names = &clk_name;
|
||||
init.num_parents = 1;
|
||||
} else {
|
||||
@@ -1407,11 +1425,13 @@ static int rockchip_usb2phy_probe(struct
|
||||
@@ -1408,16 +1426,26 @@ static int rockchip_usb2phy_probe(struct
|
||||
if (IS_ERR(rphy->phy_reset))
|
||||
return PTR_ERR(rphy->phy_reset);
|
||||
|
||||
|
|
@ -101,10 +101,8 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
|||
+ rphy->num_clks = ret < 0 ? 0 : ret;
|
||||
|
||||
ret = rockchip_usb2phy_clk480m_register(rphy);
|
||||
if (ret) {
|
||||
@@ -1419,6 +1439,14 @@ static int rockchip_usb2phy_probe(struct
|
||||
return ret;
|
||||
}
|
||||
if (ret)
|
||||
return dev_err_probe(dev, ret, "failed to register 480m output clock\n");
|
||||
|
||||
+ ret = clk_bulk_prepare_enable(rphy->num_clks, rphy->clks);
|
||||
+ if (ret)
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
|||
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -1524,6 +1524,30 @@ static int rk3128_usb2phy_tuning(struct
|
||||
@@ -1521,6 +1521,30 @@ static int rk3128_usb2phy_tuning(struct
|
||||
BIT(2) << BIT_WRITEABLE_SHIFT | 0);
|
||||
}
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
|||
static int rk3588_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
{
|
||||
int ret;
|
||||
@@ -1952,6 +1976,84 @@ static const struct rockchip_usb2phy_cfg
|
||||
@@ -1949,6 +1973,84 @@ static const struct rockchip_usb2phy_cfg
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
|||
static const struct rockchip_usb2phy_cfg rk3588_phy_cfgs[] = {
|
||||
{
|
||||
.reg = 0x0000,
|
||||
@@ -2123,6 +2225,7 @@ static const struct of_device_id rockchi
|
||||
@@ -2120,6 +2222,7 @@ static const struct of_device_id rockchi
|
||||
{ .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3568-usb2phy", .data = &rk3568_phy_cfgs },
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|||
}
|
||||
|
||||
static unsigned long
|
||||
@@ -577,7 +567,6 @@ static int rockchip_usb2phy_power_on(str
|
||||
@@ -574,7 +564,6 @@ static int rockchip_usb2phy_power_on(str
|
||||
{
|
||||
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
|
||||
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
|
||||
|
|
@ -94,7 +94,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|||
int ret;
|
||||
|
||||
dev_dbg(&rport->phy->dev, "port power on\n");
|
||||
@@ -589,7 +578,7 @@ static int rockchip_usb2phy_power_on(str
|
||||
@@ -586,7 +575,7 @@ static int rockchip_usb2phy_power_on(str
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
|
@ -103,7 +103,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|||
if (ret) {
|
||||
clk_disable_unprepare(rphy->clk480m);
|
||||
return ret;
|
||||
@@ -618,7 +607,6 @@ static int rockchip_usb2phy_power_off(st
|
||||
@@ -615,7 +604,6 @@ static int rockchip_usb2phy_power_off(st
|
||||
{
|
||||
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
|
||||
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
|
||||
|
|
@ -111,7 +111,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|||
int ret;
|
||||
|
||||
dev_dbg(&rport->phy->dev, "port power off\n");
|
||||
@@ -626,7 +614,7 @@ static int rockchip_usb2phy_power_off(st
|
||||
@@ -623,7 +611,7 @@ static int rockchip_usb2phy_power_off(st
|
||||
if (rport->suspended)
|
||||
return 0;
|
||||
|
||||
|
|
@ -120,7 +120,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -790,28 +778,22 @@ static const char *chg_to_string(enum po
|
||||
@@ -787,28 +775,22 @@ static const char *chg_to_string(enum po
|
||||
static void rockchip_chg_enable_dcd(struct rockchip_usb2phy *rphy,
|
||||
bool en)
|
||||
{
|
||||
|
|
@ -155,33 +155,33 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|||
}
|
||||
|
||||
#define CHG_DCD_POLL_TIME (100 * HZ / 1000)
|
||||
@@ -823,7 +805,6 @@ static void rockchip_chg_detect_work(str
|
||||
@@ -820,7 +802,6 @@ static void rockchip_chg_detect_work(str
|
||||
struct rockchip_usb2phy_port *rport =
|
||||
container_of(work, struct rockchip_usb2phy_port, chg_work.work);
|
||||
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
|
||||
- struct regmap *base = get_reg_base(rphy);
|
||||
bool is_dcd, tmout, vout;
|
||||
bool is_dcd, tmout, vout, vbus_attach;
|
||||
unsigned long delay;
|
||||
|
||||
@@ -834,7 +815,7 @@ static void rockchip_chg_detect_work(str
|
||||
if (!rport->suspended)
|
||||
rockchip_usb2phy_power_off(rport->phy);
|
||||
/* put the controller in non-driving mode */
|
||||
- property_enable(base, &rphy->phy_cfg->chg_det.opmode, false);
|
||||
+ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false);
|
||||
if (!vbus_attach)
|
||||
- property_enable(base, &rphy->phy_cfg->chg_det.opmode, false);
|
||||
+ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false);
|
||||
/* Start DCD processing stage 1 */
|
||||
rockchip_chg_enable_dcd(rphy, true);
|
||||
rphy->chg_state = USB_CHG_STATE_WAIT_FOR_DCD;
|
||||
@@ -897,7 +878,7 @@ static void rockchip_chg_detect_work(str
|
||||
fallthrough;
|
||||
@@ -898,7 +879,7 @@ static void rockchip_chg_detect_work(str
|
||||
case USB_CHG_STATE_DETECTED:
|
||||
/* put the controller in normal mode */
|
||||
- property_enable(base, &rphy->phy_cfg->chg_det.opmode, true);
|
||||
+ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true);
|
||||
if (!vbus_attach)
|
||||
- property_enable(base, &rphy->phy_cfg->chg_det.opmode, true);
|
||||
+ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true);
|
||||
rockchip_usb2phy_otg_sm_work(&rport->otg_sm_work.work);
|
||||
dev_dbg(&rport->phy->dev, "charger = %s\n",
|
||||
chg_to_string(rphy->chg_type));
|
||||
@@ -1352,29 +1333,14 @@ static int rockchip_usb2phy_probe(struct
|
||||
@@ -1353,29 +1334,14 @@ static int rockchip_usb2phy_probe(struct
|
||||
if (!rphy)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|||
}
|
||||
|
||||
static unsigned long
|
||||
@@ -1335,9 +1360,13 @@ static int rockchip_usb2phy_probe(struct
|
||||
@@ -1336,9 +1361,13 @@ static int rockchip_usb2phy_probe(struct
|
||||
|
||||
if (!dev->parent || !dev->parent->of_node ||
|
||||
of_property_present(np, "rockchip,usbgrf")) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|||
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -1519,6 +1519,28 @@ static int rk3128_usb2phy_tuning(struct
|
||||
@@ -1516,6 +1516,28 @@ static int rk3128_usb2phy_tuning(struct
|
||||
BIT(2) << BIT_WRITEABLE_SHIFT | 0);
|
||||
}
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|||
static int rk3576_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
{
|
||||
int ret;
|
||||
@@ -1901,6 +1923,57 @@ static const struct rockchip_usb2phy_cfg
|
||||
@@ -1898,6 +1920,57 @@ static const struct rockchip_usb2phy_cfg
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|||
static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = {
|
||||
{
|
||||
.reg = 0xfe8a0000,
|
||||
@@ -2219,6 +2292,7 @@ static const struct of_device_id rockchi
|
||||
@@ -2216,6 +2289,7 @@ static const struct of_device_id rockchi
|
||||
{ .compatible = "rockchip,rk3328-usb2phy", .data = &rk3328_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue