From: Christian Marangi Date: Mon, 10 Nov 2025 17:29:44 +0000 (+0100) Subject: airoha: refresh kernel patches X-Git-Tag: v24.10.5~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ae51d0098efe0712a3405fb3c913fe9baaef4473;p=thirdparty%2Fopenwrt.git airoha: refresh kernel patches After all the backports, automatically refresh all the patches for Airoha target. Signed-off-by: Christian Marangi --- diff --git a/target/linux/airoha/patches-6.6/060-v6.16-02-net-phy-mediatek-add-Airoha-PHY-ID-to-SoC-driver.patch b/target/linux/airoha/patches-6.6/060-v6.16-02-net-phy-mediatek-add-Airoha-PHY-ID-to-SoC-driver.patch index 5d8e14aeea5..03bb46bb895 100644 --- a/target/linux/airoha/patches-6.6/060-v6.16-02-net-phy-mediatek-add-Airoha-PHY-ID-to-SoC-driver.patch +++ b/target/linux/airoha/patches-6.6/060-v6.16-02-net-phy-mediatek-add-Airoha-PHY-ID-to-SoC-driver.patch @@ -22,7 +22,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -15,8 +15,9 @@ config MEDIATEK_GE_PHY +@@ -320,8 +320,9 @@ config MEDIATEK_GE_PHY config MEDIATEK_GE_SOC_PHY tristate "MediaTek SoC Ethernet PHYs" @@ -36,9 +36,9 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/phy/mediatek-ge-soc.c +++ b/drivers/net/phy/mediatek-ge-soc.c -@@ -10,8 +10,11 @@ - - #include "mtk.h" +@@ -8,8 +8,11 @@ + #include + #include +#define MTK_PHY_MAX_LEDS 2 + @@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski #define MTK_EXT_PAGE_ACCESS 0x1f #define MTK_PHY_PAGE_STANDARD 0x0000 -@@ -1405,6 +1408,53 @@ static int mt7981_phy_probe(struct phy_d +@@ -1502,6 +1505,53 @@ static int mt7981_phy_probe(struct phy_d return mt798x_phy_calibration(phydev); } @@ -102,7 +102,7 @@ Signed-off-by: Jakub Kicinski static struct phy_driver mtk_socphy_driver[] = { { PHY_ID_MATCH_EXACT(MTK_GPHY_ID_MT7981), -@@ -1440,6 +1490,17 @@ static struct phy_driver mtk_socphy_driv +@@ -1537,6 +1587,17 @@ static struct phy_driver mtk_socphy_driv .led_hw_control_set = mt798x_phy_led_hw_control_set, .led_hw_control_get = mt798x_phy_led_hw_control_get, }, @@ -120,7 +120,7 @@ Signed-off-by: Jakub Kicinski }; module_phy_driver(mtk_socphy_driver); -@@ -1447,6 +1508,7 @@ module_phy_driver(mtk_socphy_driver); +@@ -1544,6 +1605,7 @@ module_phy_driver(mtk_socphy_driver); static struct mdio_device_id __maybe_unused mtk_socphy_tbl[] = { { PHY_ID_MATCH_EXACT(MTK_GPHY_ID_MT7981) }, { PHY_ID_MATCH_EXACT(MTK_GPHY_ID_MT7988) }, diff --git a/target/linux/airoha/patches-6.6/095-v6.19-net-airoha-Fix-loopback-mode-configuration-for-GDM2-.patch b/target/linux/airoha/patches-6.6/095-v6.19-net-airoha-Fix-loopback-mode-configuration-for-GDM2-.patch index 5c3fcc0c20c..95200a910a8 100644 --- a/target/linux/airoha/patches-6.6/095-v6.19-net-airoha-Fix-loopback-mode-configuration-for-GDM2-.patch +++ b/target/linux/airoha/patches-6.6/095-v6.19-net-airoha-Fix-loopback-mode-configuration-for-GDM2-.patch @@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -1715,7 +1715,9 @@ static void airhoha_set_gdm2_loopback(st +@@ -1716,7 +1716,9 @@ static void airhoha_set_gdm2_loopback(st airoha_fe_wr(eth, REG_GDM_RXCHN_EN(2), 0xffff); airoha_fe_rmw(eth, REG_GDM_LPBK_CFG(2), LPBK_CHAN_MASK | LPBK_MODE_MASK | LPBK_EN_MASK, diff --git a/target/linux/airoha/patches-6.6/096-v6.19-net-airoha-Add-missing-stats-to-ethtool_eth_mac_stat.patch b/target/linux/airoha/patches-6.6/096-v6.19-net-airoha-Add-missing-stats-to-ethtool_eth_mac_stat.patch index 66d72ded83c..0ffeb5867dc 100644 --- a/target/linux/airoha/patches-6.6/096-v6.19-net-airoha-Add-missing-stats-to-ethtool_eth_mac_stat.patch +++ b/target/linux/airoha/patches-6.6/096-v6.19-net-airoha-Add-missing-stats-to-ethtool_eth_mac_stat.patch @@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -2027,8 +2027,12 @@ static void airoha_ethtool_get_mac_stats +@@ -2028,8 +2028,12 @@ static void airoha_ethtool_get_mac_stats airoha_update_hw_stats(port); do { start = u64_stats_fetch_begin(&port->stats.syncp); diff --git a/target/linux/airoha/patches-6.6/097-v6.19-net-airoha-Add-get_link-ethtool-callback.patch b/target/linux/airoha/patches-6.6/097-v6.19-net-airoha-Add-get_link-ethtool-callback.patch index 7d78bd6c034..b990297a42e 100644 --- a/target/linux/airoha/patches-6.6/097-v6.19-net-airoha-Add-get_link-ethtool-callback.patch +++ b/target/linux/airoha/patches-6.6/097-v6.19-net-airoha-Add-get_link-ethtool-callback.patch @@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -2775,6 +2775,7 @@ static const struct ethtool_ops airoha_e +@@ -2776,6 +2776,7 @@ static const struct ethtool_ops airoha_e .get_drvinfo = airoha_ethtool_get_drvinfo, .get_eth_mac_stats = airoha_ethtool_get_mac_stats, .get_rmon_stats = airoha_ethtool_get_rmon_stats, diff --git a/target/linux/airoha/patches-6.6/098-v6.19-net-airoha-Take-into-account-out-of-order-tx-complet.patch b/target/linux/airoha/patches-6.6/098-v6.19-net-airoha-Take-into-account-out-of-order-tx-complet.patch index 46432b2480e..4ff6daf0338 100644 --- a/target/linux/airoha/patches-6.6/098-v6.19-net-airoha-Take-into-account-out-of-order-tx-complet.patch +++ b/target/linux/airoha/patches-6.6/098-v6.19-net-airoha-Take-into-account-out-of-order-tx-complet.patch @@ -22,7 +22,7 @@ Signed-off-by: Paolo Abeni --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -1878,6 +1878,20 @@ static u32 airoha_get_dsa_tag(struct sk_ +@@ -1879,6 +1879,20 @@ static u32 airoha_get_dsa_tag(struct sk_ #endif } @@ -43,7 +43,7 @@ Signed-off-by: Paolo Abeni static netdev_tx_t airoha_dev_xmit(struct sk_buff *skb, struct net_device *dev) { -@@ -1931,7 +1945,7 @@ static netdev_tx_t airoha_dev_xmit(struc +@@ -1932,7 +1946,7 @@ static netdev_tx_t airoha_dev_xmit(struc txq = netdev_get_tx_queue(dev, qid); nr_frags = 1 + skb_shinfo(skb)->nr_frags; diff --git a/target/linux/airoha/patches-6.6/099-03-v6.19-net-airoha-Add-airoha_eth_soc_data-struct.patch b/target/linux/airoha/patches-6.6/099-03-v6.19-net-airoha-Add-airoha_eth_soc_data-struct.patch index 9035e214470..2c94dccb1a8 100644 --- a/target/linux/airoha/patches-6.6/099-03-v6.19-net-airoha-Add-airoha_eth_soc_data-struct.patch +++ b/target/linux/airoha/patches-6.6/099-03-v6.19-net-airoha-Add-airoha_eth_soc_data-struct.patch @@ -21,7 +21,7 @@ Signed-off-by: Paolo Abeni --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -1392,8 +1392,7 @@ static int airoha_hw_init(struct platfor +@@ -1393,8 +1393,7 @@ static int airoha_hw_init(struct platfor int err, i; /* disable xsi */ @@ -31,7 +31,7 @@ Signed-off-by: Paolo Abeni if (err) return err; -@@ -2927,6 +2926,7 @@ free_metadata_dst: +@@ -2928,6 +2927,7 @@ free_metadata_dst: static int airoha_probe(struct platform_device *pdev) { @@ -39,7 +39,7 @@ Signed-off-by: Paolo Abeni struct device_node *np; struct airoha_eth *eth; int i, err; -@@ -2935,6 +2935,10 @@ static int airoha_probe(struct platform_ +@@ -2936,6 +2936,10 @@ static int airoha_probe(struct platform_ if (!eth) return -ENOMEM; @@ -50,7 +50,7 @@ Signed-off-by: Paolo Abeni eth->dev = &pdev->dev; err = dma_set_mask_and_coherent(eth->dev, DMA_BIT_MASK(32)); -@@ -2959,13 +2963,18 @@ static int airoha_probe(struct platform_ +@@ -2960,13 +2964,18 @@ static int airoha_probe(struct platform_ return err; } @@ -75,7 +75,7 @@ Signed-off-by: Paolo Abeni eth->xsi_rsts); if (err) { dev_err(eth->dev, "failed to get bulk xsi reset lines\n"); -@@ -3052,8 +3061,23 @@ static void airoha_remove(struct platfor +@@ -3053,8 +3062,23 @@ static void airoha_remove(struct platfor platform_set_drvdata(pdev, NULL); } diff --git a/target/linux/airoha/patches-6.6/099-04-v6.19-net-airoha-Generalize-airoha_ppe2_is_enabled-routine.patch b/target/linux/airoha/patches-6.6/099-04-v6.19-net-airoha-Generalize-airoha_ppe2_is_enabled-routine.patch index e82ce24e4fc..cbed7ffc946 100644 --- a/target/linux/airoha/patches-6.6/099-04-v6.19-net-airoha-Generalize-airoha_ppe2_is_enabled-routine.patch +++ b/target/linux/airoha/patches-6.6/099-04-v6.19-net-airoha-Generalize-airoha_ppe2_is_enabled-routine.patch @@ -59,7 +59,7 @@ Signed-off-by: Paolo Abeni } /* GMD4 */ for (q = 0; q < pse_port_num_queues[FE_PSE_PORT_GDM4]; q++) -@@ -1767,8 +1774,11 @@ static int airoha_dev_init(struct net_de +@@ -1768,8 +1775,11 @@ static int airoha_dev_init(struct net_de airhoha_set_gdm2_loopback(port); fallthrough; case 2: diff --git a/target/linux/airoha/patches-6.6/099-09-v6.19-net-airoha-Select-default-ppe-cpu-port-in-airoha_dev.patch b/target/linux/airoha/patches-6.6/099-09-v6.19-net-airoha-Select-default-ppe-cpu-port-in-airoha_dev.patch index c6ecbdb8296..08bfcaf587c 100644 --- a/target/linux/airoha/patches-6.6/099-09-v6.19-net-airoha-Select-default-ppe-cpu-port-in-airoha_dev.patch +++ b/target/linux/airoha/patches-6.6/099-09-v6.19-net-airoha-Select-default-ppe-cpu-port-in-airoha_dev.patch @@ -47,7 +47,7 @@ Signed-off-by: Paolo Abeni /* enable 1:N vlan action, init vlan table */ airoha_fe_set(eth, REG_MC_VLAN_EN, MC_VLAN_EN_MASK); -@@ -1761,8 +1742,10 @@ static void airhoha_set_gdm2_loopback(st +@@ -1762,8 +1743,10 @@ static void airhoha_set_gdm2_loopback(st static int airoha_dev_init(struct net_device *dev) { struct airoha_gdm_port *port = netdev_priv(dev); @@ -60,7 +60,7 @@ Signed-off-by: Paolo Abeni airoha_set_macaddr(port, dev->dev_addr); -@@ -1775,16 +1758,27 @@ static int airoha_dev_init(struct net_de +@@ -1776,16 +1759,27 @@ static int airoha_dev_init(struct net_de fallthrough; case 2: if (airoha_ppe_is_enabled(eth, 1)) { diff --git a/target/linux/airoha/patches-6.6/099-10-v6.19-net-airoha-Refactor-src-port-configuration-in-airhoh.patch b/target/linux/airoha/patches-6.6/099-10-v6.19-net-airoha-Refactor-src-port-configuration-in-airhoh.patch index cec079845c5..b7fafc52ad3 100644 --- a/target/linux/airoha/patches-6.6/099-10-v6.19-net-airoha-Refactor-src-port-configuration-in-airhoh.patch +++ b/target/linux/airoha/patches-6.6/099-10-v6.19-net-airoha-Refactor-src-port-configuration-in-airhoh.patch @@ -22,7 +22,7 @@ Signed-off-by: Paolo Abeni --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -1687,13 +1687,17 @@ static int airoha_dev_set_macaddr(struct +@@ -1688,13 +1688,17 @@ static int airoha_dev_set_macaddr(struct return 0; } @@ -43,7 +43,7 @@ Signed-off-by: Paolo Abeni airoha_set_gdm_port_fwd_cfg(eth, REG_GDM_FWD_CFG(2), pse_port); airoha_fe_clear(eth, REG_GDM_FWD_CFG(2), GDM_STRIP_CRC); -@@ -1714,29 +1718,25 @@ static void airhoha_set_gdm2_loopback(st +@@ -1715,29 +1719,25 @@ static void airhoha_set_gdm2_loopback(st airoha_fe_clear(eth, REG_FE_VIP_PORT_EN, BIT(2)); airoha_fe_clear(eth, REG_FE_IFC_PORT_EN, BIT(2)); @@ -89,7 +89,7 @@ Signed-off-by: Paolo Abeni } static int airoha_dev_init(struct net_device *dev) -@@ -1753,8 +1753,13 @@ static int airoha_dev_init(struct net_de +@@ -1754,8 +1754,13 @@ static int airoha_dev_init(struct net_de case 3: case 4: /* If GDM2 is active we can't enable loopback */ @@ -105,7 +105,7 @@ Signed-off-by: Paolo Abeni fallthrough; case 2: if (airoha_ppe_is_enabled(eth, 1)) { -@@ -3073,11 +3078,38 @@ static const char * const en7581_xsi_rst +@@ -3074,11 +3079,38 @@ static const char * const en7581_xsi_rst "xfp-mac", }; diff --git a/target/linux/airoha/patches-6.6/099-12-v6.19-net-airoha-Add-AN7583-SoC-support.patch b/target/linux/airoha/patches-6.6/099-12-v6.19-net-airoha-Add-AN7583-SoC-support.patch index 7f34a05ab5d..5c7d3bf9037 100644 --- a/target/linux/airoha/patches-6.6/099-12-v6.19-net-airoha-Add-AN7583-SoC-support.patch +++ b/target/linux/airoha/patches-6.6/099-12-v6.19-net-airoha-Add-AN7583-SoC-support.patch @@ -17,7 +17,7 @@ Signed-off-by: Paolo Abeni --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -1689,10 +1689,8 @@ static int airoha_dev_set_macaddr(struct +@@ -1690,10 +1690,8 @@ static int airoha_dev_set_macaddr(struct static int airhoha_set_gdm2_loopback(struct airoha_gdm_port *port) { @@ -29,7 +29,7 @@ Signed-off-by: Paolo Abeni int src_port; /* Forward the traffic to the proper GDM port */ -@@ -1704,6 +1702,8 @@ static int airhoha_set_gdm2_loopback(str +@@ -1705,6 +1703,8 @@ static int airhoha_set_gdm2_loopback(str /* Enable GDM2 loopback */ airoha_fe_wr(eth, REG_GDM_TXCHN_EN(2), 0xffffffff); airoha_fe_wr(eth, REG_GDM_RXCHN_EN(2), 0xffff); @@ -38,7 +38,7 @@ Signed-off-by: Paolo Abeni airoha_fe_rmw(eth, REG_GDM_LPBK_CFG(2), LPBK_CHAN_MASK | LPBK_MODE_MASK | LPBK_EN_MASK, FIELD_PREP(LPBK_CHAN_MASK, chan) | -@@ -1718,6 +1718,8 @@ static int airhoha_set_gdm2_loopback(str +@@ -1719,6 +1719,8 @@ static int airhoha_set_gdm2_loopback(str airoha_fe_clear(eth, REG_FE_VIP_PORT_EN, BIT(2)); airoha_fe_clear(eth, REG_FE_IFC_PORT_EN, BIT(2)); @@ -47,7 +47,7 @@ Signed-off-by: Paolo Abeni src_port = eth->soc->ops.get_src_port_id(port, nbq); if (src_port < 0) return src_port; -@@ -1731,7 +1733,7 @@ static int airhoha_set_gdm2_loopback(str +@@ -1732,7 +1734,7 @@ static int airhoha_set_gdm2_loopback(str SP_CPORT_MASK(val), FE_PSE_PORT_CDM2 << __ffs(SP_CPORT_MASK(val))); @@ -56,7 +56,7 @@ Signed-off-by: Paolo Abeni airoha_fe_rmw(eth, REG_SRC_PORT_FC_MAP6, FC_ID_OF_SRC_PORT24_MASK, FIELD_PREP(FC_ID_OF_SRC_PORT24_MASK, 2)); -@@ -1900,6 +1902,22 @@ static bool airoha_dev_tx_queue_busy(str +@@ -1901,6 +1903,22 @@ static bool airoha_dev_tx_queue_busy(str return index >= tail; } @@ -79,7 +79,7 @@ Signed-off-by: Paolo Abeni static netdev_tx_t airoha_dev_xmit(struct sk_buff *skb, struct net_device *dev) { -@@ -1940,7 +1958,7 @@ static netdev_tx_t airoha_dev_xmit(struc +@@ -1941,7 +1959,7 @@ static netdev_tx_t airoha_dev_xmit(struc } } @@ -88,7 +88,7 @@ Signed-off-by: Paolo Abeni msg1 = FIELD_PREP(QDMA_ETH_TXMSG_FPORT_MASK, fport) | FIELD_PREP(QDMA_ETH_TXMSG_METER_MASK, 0x7f); -@@ -3102,6 +3120,35 @@ static int airoha_en7581_get_src_port_id +@@ -3103,6 +3121,35 @@ static int airoha_en7581_get_src_port_id return -EINVAL; } @@ -124,7 +124,7 @@ Signed-off-by: Paolo Abeni static const struct airoha_eth_soc_data en7581_soc_data = { .version = 0x7581, .xsi_rsts_names = en7581_xsi_rsts_names, -@@ -3112,8 +3159,19 @@ static const struct airoha_eth_soc_data +@@ -3113,8 +3160,19 @@ static const struct airoha_eth_soc_data }, }; diff --git a/target/linux/airoha/patches-6.6/103-v6.19-net-airoha-Remove-code-duplication-in-airoha_regs.h.patch b/target/linux/airoha/patches-6.6/103-v6.19-net-airoha-Remove-code-duplication-in-airoha_regs.h.patch index 654f287b144..68f22a5af46 100644 --- a/target/linux/airoha/patches-6.6/103-v6.19-net-airoha-Remove-code-duplication-in-airoha_regs.h.patch +++ b/target/linux/airoha/patches-6.6/103-v6.19-net-airoha-Remove-code-duplication-in-airoha_regs.h.patch @@ -172,7 +172,7 @@ Signed-off-by: Jakub Kicinski MBI_RX_AGE_SEL_MASK | MBI_TX_AGE_SEL_MASK, FIELD_PREP(MBI_RX_AGE_SEL_MASK, 3) | FIELD_PREP(MBI_TX_AGE_SEL_MASK, 3)); -@@ -1697,7 +1697,7 @@ static int airhoha_set_gdm2_loopback(str +@@ -1698,7 +1698,7 @@ static int airhoha_set_gdm2_loopback(str pse_port = port->id == AIROHA_GDM3_IDX ? FE_PSE_PORT_GDM3 : FE_PSE_PORT_GDM4; airoha_set_gdm_port_fwd_cfg(eth, REG_GDM_FWD_CFG(2), pse_port); diff --git a/target/linux/airoha/patches-6.6/104-6.19-net-airoha-Fix-a-copy-and-paste-bug-in-probe.patch b/target/linux/airoha/patches-6.6/104-6.19-net-airoha-Fix-a-copy-and-paste-bug-in-probe.patch index e87035ec547..0002556fe03 100644 --- a/target/linux/airoha/patches-6.6/104-6.19-net-airoha-Fix-a-copy-and-paste-bug-in-probe.patch +++ b/target/linux/airoha/patches-6.6/104-6.19-net-airoha-Fix-a-copy-and-paste-bug-in-probe.patch @@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -2990,11 +2990,11 @@ static int airoha_probe(struct platform_ +@@ -2991,11 +2991,11 @@ static int airoha_probe(struct platform_ return err; } diff --git a/target/linux/airoha/patches-6.6/104-v6.16-net-airoha-Fix-an-error-handling-path-in-airoha_prob.patch b/target/linux/airoha/patches-6.6/104-v6.16-net-airoha-Fix-an-error-handling-path-in-airoha_prob.patch index 58e48cb8d05..fd1c9f0dc31 100644 --- a/target/linux/airoha/patches-6.6/104-v6.16-net-airoha-Fix-an-error-handling-path-in-airoha_prob.patch +++ b/target/linux/airoha/patches-6.6/104-v6.16-net-airoha-Fix-an-error-handling-path-in-airoha_prob.patch @@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -3044,6 +3044,7 @@ static int airoha_probe(struct platform_ +@@ -3045,6 +3045,7 @@ static int airoha_probe(struct platform_ error_napi_stop: for (i = 0; i < ARRAY_SIZE(eth->qdma); i++) airoha_qdma_stop_napi(ð->qdma[i]); diff --git a/target/linux/airoha/patches-6.6/107-v6.19-pwm-airoha-Add-support-for-EN7581-SoC.patch b/target/linux/airoha/patches-6.6/107-v6.19-pwm-airoha-Add-support-for-EN7581-SoC.patch index 253fa379139..6774803057b 100644 --- a/target/linux/airoha/patches-6.6/107-v6.19-pwm-airoha-Add-support-for-EN7581-SoC.patch +++ b/target/linux/airoha/patches-6.6/107-v6.19-pwm-airoha-Add-support-for-EN7581-SoC.patch @@ -35,9 +35,9 @@ Signed-off-by: Uwe Kleine-König --- a/drivers/pwm/Kconfig +++ b/drivers/pwm/Kconfig -@@ -54,6 +54,16 @@ config PWM_ADP5585 - This option enables support for the PWM function found in the Analog - Devices ADP5585. +@@ -51,6 +51,16 @@ config PWM_AB8500 + To compile this driver as a module, choose M here: the module + will be called pwm-ab8500. +config PWM_AIROHA + tristate "Airoha PWM support" diff --git a/target/linux/airoha/patches-6.6/116-02-net-airoha-deassert-XSI-line-on-hw-init.patch b/target/linux/airoha/patches-6.6/116-02-net-airoha-deassert-XSI-line-on-hw-init.patch index d7e312dfcf4..e1e6baed402 100644 --- a/target/linux/airoha/patches-6.6/116-02-net-airoha-deassert-XSI-line-on-hw-init.patch +++ b/target/linux/airoha/patches-6.6/116-02-net-airoha-deassert-XSI-line-on-hw-init.patch @@ -13,7 +13,7 @@ Signed-off-by: Christian Marangi --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -1383,6 +1383,10 @@ static int airoha_hw_init(struct platfor +@@ -1384,6 +1384,10 @@ static int airoha_hw_init(struct platfor if (err) return err; diff --git a/target/linux/airoha/patches-6.6/116-06-net-airoha-add-initial-fixup-for-GDM3-4-port-support.patch b/target/linux/airoha/patches-6.6/116-06-net-airoha-add-initial-fixup-for-GDM3-4-port-support.patch index 7b395bfcb71..5750bc3dbba 100644 --- a/target/linux/airoha/patches-6.6/116-06-net-airoha-add-initial-fixup-for-GDM3-4-port-support.patch +++ b/target/linux/airoha/patches-6.6/116-06-net-airoha-add-initial-fixup-for-GDM3-4-port-support.patch @@ -28,7 +28,7 @@ Signed-off-by: Christian Marangi airoha_fe_crsn_qsel_init(eth); -@@ -1625,7 +1627,8 @@ static int airoha_dev_open(struct net_de +@@ -1626,7 +1628,8 @@ static int airoha_dev_open(struct net_de if (err) return err; diff --git a/target/linux/airoha/patches-6.6/116-07-airoha-ethernet-drop-xsi-mac-reset.patch b/target/linux/airoha/patches-6.6/116-07-airoha-ethernet-drop-xsi-mac-reset.patch index 508ae97154c..5da8a24a7e2 100644 --- a/target/linux/airoha/patches-6.6/116-07-airoha-ethernet-drop-xsi-mac-reset.patch +++ b/target/linux/airoha/patches-6.6/116-07-airoha-ethernet-drop-xsi-mac-reset.patch @@ -15,7 +15,7 @@ Signed-off-by: Christian Marangi --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c -@@ -3095,7 +3095,6 @@ static void airoha_remove(struct platfor +@@ -3096,7 +3096,6 @@ static void airoha_remove(struct platfor } static const char * const en7581_xsi_rsts_names[] = { @@ -23,7 +23,7 @@ Signed-off-by: Christian Marangi "hsi0-mac", "hsi1-mac", "hsi-mac", -@@ -3127,7 +3126,6 @@ static int airoha_en7581_get_src_port_id +@@ -3128,7 +3127,6 @@ static int airoha_en7581_get_src_port_id } static const char * const an7583_xsi_rsts_names[] = { diff --git a/target/linux/airoha/patches-6.6/116-08-net-phylink-add-.pcs_link_down-PCS-OP.patch b/target/linux/airoha/patches-6.6/116-08-net-phylink-add-.pcs_link_down-PCS-OP.patch index e6a39b4680e..c16d4c86863 100644 --- a/target/linux/airoha/patches-6.6/116-08-net-phylink-add-.pcs_link_down-PCS-OP.patch +++ b/target/linux/airoha/patches-6.6/116-08-net-phylink-add-.pcs_link_down-PCS-OP.patch @@ -22,8 +22,8 @@ Signed-off-by: Christian Marangi --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c -@@ -1088,6 +1088,12 @@ static unsigned int phylink_inband_caps( - return phylink_pcs_inband_caps(pcs, interface); +@@ -1106,6 +1106,12 @@ static void phylink_pcs_link_up(struct p + pcs->ops->pcs_link_up(pcs, neg_mode, interface, speed, duplex); } +static void phylink_pcs_link_down(struct phylink_pcs *pcs) @@ -35,7 +35,7 @@ Signed-off-by: Christian Marangi static void phylink_pcs_poll_stop(struct phylink *pl) { if (pl->cfg_link_an_mode == MLO_AN_INBAND) -@@ -1642,6 +1648,8 @@ static void phylink_link_down(struct phy +@@ -1437,6 +1443,8 @@ static void phylink_link_down(struct phy if (ndev) netif_carrier_off(ndev); @@ -46,7 +46,7 @@ Signed-off-by: Christian Marangi phylink_info(pl, "Link is Down\n"); --- a/include/linux/phylink.h +++ b/include/linux/phylink.h -@@ -430,6 +430,7 @@ struct phylink_pcs { +@@ -507,6 +507,7 @@ struct phylink_pcs { * @pcs_an_restart: restart 802.3z BaseX autonegotiation. * @pcs_link_up: program the PCS for the resolved link configuration * (where necessary). @@ -54,7 +54,7 @@ Signed-off-by: Christian Marangi */ struct phylink_pcs_ops { int (*pcs_validate)(struct phylink_pcs *pcs, unsigned long *supported, -@@ -450,6 +451,7 @@ struct phylink_pcs_ops { +@@ -526,6 +527,7 @@ struct phylink_pcs_ops { void (*pcs_an_restart)(struct phylink_pcs *pcs); void (*pcs_link_up)(struct phylink_pcs *pcs, unsigned int neg_mode, phy_interface_t interface, int speed, int duplex); diff --git a/target/linux/airoha/patches-6.6/116-09-net-pcs-airoha-add-PCS-driver-for-Airoha-SoC.patch b/target/linux/airoha/patches-6.6/116-09-net-pcs-airoha-add-PCS-driver-for-Airoha-SoC.patch index 5bd7da4a430..cde7048967f 100644 --- a/target/linux/airoha/patches-6.6/116-09-net-pcs-airoha-add-PCS-driver-for-Airoha-SoC.patch +++ b/target/linux/airoha/patches-6.6/116-09-net-pcs-airoha-add-PCS-driver-for-Airoha-SoC.patch @@ -40,7 +40,7 @@ Signed-off-by: Christian Marangi endmenu --- a/drivers/net/pcs/Makefile +++ b/drivers/net/pcs/Makefile -@@ -9,3 +9,5 @@ obj-$(CONFIG_PCS_LYNX) += pcs-lynx.o +@@ -8,3 +8,5 @@ obj-$(CONFIG_PCS_LYNX) += pcs-lynx.o obj-$(CONFIG_PCS_MTK_LYNXI) += pcs-mtk-lynxi.o obj-$(CONFIG_PCS_RZN1_MIIC) += pcs-rzn1-miic.o obj-$(CONFIG_PCS_MTK_USXGMII) += pcs-mtk-usxgmii.o diff --git a/target/linux/airoha/patches-6.6/116-10-net-airoha-add-phylink-support-for-GDM2-4.patch b/target/linux/airoha/patches-6.6/116-10-net-airoha-add-phylink-support-for-GDM2-4.patch index 8ce66b706ab..ac176764364 100644 --- a/target/linux/airoha/patches-6.6/116-10-net-airoha-add-phylink-support-for-GDM2-4.patch +++ b/target/linux/airoha/patches-6.6/116-10-net-airoha-add-phylink-support-for-GDM2-4.patch @@ -35,7 +35,7 @@ Signed-off-by: Christian Marangi static void airoha_set_macaddr(struct airoha_gdm_port *port, const u8 *addr) { struct airoha_eth *eth = port->qdma->eth; -@@ -1622,6 +1628,17 @@ static int airoha_dev_open(struct net_de +@@ -1623,6 +1629,17 @@ static int airoha_dev_open(struct net_de struct airoha_gdm_port *port = netdev_priv(dev); struct airoha_qdma *qdma = port->qdma; @@ -53,7 +53,7 @@ Signed-off-by: Christian Marangi netif_tx_start_all_queues(dev); err = airoha_set_vip_for_gdm_port(port, true); if (err) -@@ -1675,6 +1692,11 @@ static int airoha_dev_stop(struct net_de +@@ -1676,6 +1693,11 @@ static int airoha_dev_stop(struct net_de } } @@ -65,7 +65,7 @@ Signed-off-by: Christian Marangi return 0; } -@@ -2823,6 +2845,20 @@ static const struct ethtool_ops airoha_e +@@ -2824,6 +2846,20 @@ static const struct ethtool_ops airoha_e .get_link = ethtool_op_get_link, }; @@ -86,7 +86,7 @@ Signed-off-by: Christian Marangi static int airoha_metadata_dst_alloc(struct airoha_gdm_port *port) { int i; -@@ -2867,6 +2903,99 @@ bool airoha_is_valid_gdm_port(struct air +@@ -2868,6 +2904,99 @@ bool airoha_is_valid_gdm_port(struct air return false; } @@ -186,7 +186,7 @@ Signed-off-by: Christian Marangi static int airoha_alloc_gdm_port(struct airoha_eth *eth, struct device_node *np, int index) { -@@ -2945,6 +3074,12 @@ static int airoha_alloc_gdm_port(struct +@@ -2946,6 +3075,12 @@ static int airoha_alloc_gdm_port(struct if (err) return err; @@ -199,7 +199,7 @@ Signed-off-by: Christian Marangi err = register_netdev(dev); if (err) goto free_metadata_dst; -@@ -3060,6 +3195,10 @@ error_hw_cleanup: +@@ -3061,6 +3196,10 @@ error_hw_cleanup: if (port && port->dev->reg_state == NETREG_REGISTERED) { unregister_netdev(port->dev); airoha_metadata_dst_free(port); @@ -210,7 +210,7 @@ Signed-off-by: Christian Marangi } } free_netdev(eth->napi_dev); -@@ -3087,6 +3226,10 @@ static void airoha_remove(struct platfor +@@ -3088,6 +3227,10 @@ static void airoha_remove(struct platfor airoha_dev_stop(port->dev); unregister_netdev(port->dev); airoha_metadata_dst_free(port); diff --git a/target/linux/airoha/patches-6.6/120-02-pinctrl-mediatek-airoha-generalize-pins-group-functi.patch b/target/linux/airoha/patches-6.6/120-02-pinctrl-mediatek-airoha-generalize-pins-group-functi.patch index b7940f06039..65f21aa6ac7 100644 --- a/target/linux/airoha/patches-6.6/120-02-pinctrl-mediatek-airoha-generalize-pins-group-functi.patch +++ b/target/linux/airoha/patches-6.6/120-02-pinctrl-mediatek-airoha-generalize-pins-group-functi.patch @@ -39,7 +39,7 @@ Signed-off-by: Christian Marangi } #define PINCTRL_CONF_DESC(p, offset, mask) \ -@@ -362,16 +362,46 @@ struct airoha_pinctrl_gpiochip { +@@ -356,16 +356,46 @@ struct airoha_pinctrl_gpiochip { u32 irq_type[AIROHA_NUM_PINS]; }; @@ -87,7 +87,7 @@ Signed-off-by: Christian Marangi PINCTRL_PIN(0, "uart1_txd"), PINCTRL_PIN(1, "uart1_rxd"), PINCTRL_PIN(2, "i2c_scl"), -@@ -432,172 +462,172 @@ static struct pinctrl_pin_desc airoha_pi +@@ -426,172 +456,172 @@ static struct pinctrl_pin_desc airoha_pi PINCTRL_PIN(63, "pcie_reset2"), }; @@ -426,7 +426,7 @@ Signed-off-by: Christian Marangi }; static const char *const pon_groups[] = { "pon" }; -@@ -1960,33 +1990,33 @@ static const struct airoha_pinctrl_func_ +@@ -1954,33 +1984,33 @@ static const struct airoha_pinctrl_func_ }, }; @@ -485,7 +485,7 @@ Signed-off-by: Christian Marangi PINCTRL_CONF_DESC(0, REG_I2C_SDA_PU, UART1_TXD_PU_MASK), PINCTRL_CONF_DESC(1, REG_I2C_SDA_PU, UART1_RXD_PU_MASK), PINCTRL_CONF_DESC(2, REG_I2C_SDA_PU, I2C_SDA_PU_MASK), -@@ -2047,7 +2077,7 @@ static const struct airoha_pinctrl_conf +@@ -2041,7 +2071,7 @@ static const struct airoha_pinctrl_conf PINCTRL_CONF_DESC(63, REG_I2C_SDA_PU, PCIE2_RESET_PU_MASK), }; @@ -494,7 +494,7 @@ Signed-off-by: Christian Marangi PINCTRL_CONF_DESC(0, REG_I2C_SDA_PD, UART1_TXD_PD_MASK), PINCTRL_CONF_DESC(1, REG_I2C_SDA_PD, UART1_RXD_PD_MASK), PINCTRL_CONF_DESC(2, REG_I2C_SDA_PD, I2C_SDA_PD_MASK), -@@ -2108,7 +2138,7 @@ static const struct airoha_pinctrl_conf +@@ -2102,7 +2132,7 @@ static const struct airoha_pinctrl_conf PINCTRL_CONF_DESC(63, REG_I2C_SDA_PD, PCIE2_RESET_PD_MASK), }; @@ -503,7 +503,7 @@ Signed-off-by: Christian Marangi PINCTRL_CONF_DESC(0, REG_I2C_SDA_E2, UART1_TXD_E2_MASK), PINCTRL_CONF_DESC(1, REG_I2C_SDA_E2, UART1_RXD_E2_MASK), PINCTRL_CONF_DESC(2, REG_I2C_SDA_E2, I2C_SDA_E2_MASK), -@@ -2169,7 +2199,7 @@ static const struct airoha_pinctrl_conf +@@ -2163,7 +2193,7 @@ static const struct airoha_pinctrl_conf PINCTRL_CONF_DESC(63, REG_I2C_SDA_E2, PCIE2_RESET_E2_MASK), }; @@ -512,7 +512,7 @@ Signed-off-by: Christian Marangi PINCTRL_CONF_DESC(0, REG_I2C_SDA_E4, UART1_TXD_E4_MASK), PINCTRL_CONF_DESC(1, REG_I2C_SDA_E4, UART1_RXD_E4_MASK), PINCTRL_CONF_DESC(2, REG_I2C_SDA_E4, I2C_SDA_E4_MASK), -@@ -2230,7 +2260,7 @@ static const struct airoha_pinctrl_conf +@@ -2224,7 +2254,7 @@ static const struct airoha_pinctrl_conf PINCTRL_CONF_DESC(63, REG_I2C_SDA_E4, PCIE2_RESET_E4_MASK), }; @@ -521,7 +521,7 @@ Signed-off-by: Christian Marangi PINCTRL_CONF_DESC(61, REG_PCIE_RESET_OD, PCIE0_RESET_OD_MASK), PINCTRL_CONF_DESC(62, REG_PCIE_RESET_OD, PCIE1_RESET_OD_MASK), PINCTRL_CONF_DESC(63, REG_PCIE_RESET_OD, PCIE2_RESET_OD_MASK), -@@ -2552,12 +2582,17 @@ airoha_pinctrl_get_conf_reg(const struct +@@ -2551,12 +2581,17 @@ airoha_pinctrl_get_conf_reg(const struct } static int airoha_pinctrl_get_conf(struct airoha_pinctrl *pinctrl, @@ -542,7 +542,7 @@ Signed-off-by: Christian Marangi if (!reg) return -EINVAL; -@@ -2570,12 +2605,17 @@ static int airoha_pinctrl_get_conf(struc +@@ -2569,12 +2604,17 @@ static int airoha_pinctrl_get_conf(struc } static int airoha_pinctrl_set_conf(struct airoha_pinctrl *pinctrl, @@ -563,7 +563,7 @@ Signed-off-by: Christian Marangi if (!reg) return -EINVAL; -@@ -2588,44 +2628,34 @@ static int airoha_pinctrl_set_conf(struc +@@ -2587,44 +2627,34 @@ static int airoha_pinctrl_set_conf(struc } #define airoha_pinctrl_get_pullup_conf(pinctrl, pin, val) \ @@ -618,7 +618,7 @@ Signed-off-by: Christian Marangi (pin), (val)) static int airoha_pinconf_get_direction(struct pinctrl_dev *pctrl_dev, u32 p) -@@ -2804,12 +2834,13 @@ static int airoha_pinconf_set(struct pin +@@ -2803,12 +2833,13 @@ static int airoha_pinconf_set(struct pin static int airoha_pinconf_group_get(struct pinctrl_dev *pctrl_dev, unsigned int group, unsigned long *config) { @@ -634,7 +634,7 @@ Signed-off-by: Christian Marangi config)) return -ENOTSUPP; -@@ -2826,13 +2857,14 @@ static int airoha_pinconf_group_set(stru +@@ -2825,13 +2856,14 @@ static int airoha_pinconf_group_set(stru unsigned int group, unsigned long *configs, unsigned int num_configs) { @@ -651,7 +651,7 @@ Signed-off-by: Christian Marangi configs, num_configs); if (err) return err; -@@ -2858,23 +2890,16 @@ static const struct pinctrl_ops airoha_p +@@ -2857,23 +2889,16 @@ static const struct pinctrl_ops airoha_p .dt_free_map = pinconf_generic_dt_free_map, }; @@ -678,7 +678,7 @@ Signed-off-by: Christian Marangi pinctrl = devm_kzalloc(dev, sizeof(*pinctrl), GFP_KERNEL); if (!pinctrl) return -ENOMEM; -@@ -2889,14 +2914,23 @@ static int airoha_pinctrl_probe(struct p +@@ -2888,14 +2913,23 @@ static int airoha_pinctrl_probe(struct p pinctrl->chip_scu = map; @@ -704,8 +704,8 @@ Signed-off-by: Christian Marangi + const struct pingroup *grp = &data->grps[i]; err = pinctrl_generic_add_group(pinctrl->ctrl, grp->name, - grp->pins, grp->npins, -@@ -2909,10 +2943,10 @@ static int airoha_pinctrl_probe(struct p + (int *)grp->pins, grp->npins, +@@ -2908,10 +2942,10 @@ static int airoha_pinctrl_probe(struct p } /* build functions */ @@ -716,9 +716,9 @@ Signed-off-by: Christian Marangi - func = &airoha_pinctrl_funcs[i]; + func = &data->funcs[i]; err = pinmux_generic_add_function(pinctrl->ctrl, - func->desc.func.name, - func->desc.func.groups, -@@ -2925,6 +2959,10 @@ static int airoha_pinctrl_probe(struct p + func->desc.name, + func->desc.group_names, +@@ -2924,6 +2958,10 @@ static int airoha_pinctrl_probe(struct p } } @@ -729,7 +729,7 @@ Signed-off-by: Christian Marangi err = pinctrl_enable(pinctrl->ctrl); if (err) return err; -@@ -2933,8 +2971,39 @@ static int airoha_pinctrl_probe(struct p +@@ -2932,8 +2970,39 @@ static int airoha_pinctrl_probe(struct p return airoha_pinctrl_add_gpiochip(pinctrl, pdev); } diff --git a/target/linux/airoha/patches-6.6/120-03-pinctrl-airoha-convert-PHY-LED-GPIO-to-macro.patch b/target/linux/airoha/patches-6.6/120-03-pinctrl-airoha-convert-PHY-LED-GPIO-to-macro.patch index df1d96699e8..0be484ad6b1 100644 --- a/target/linux/airoha/patches-6.6/120-03-pinctrl-airoha-convert-PHY-LED-GPIO-to-macro.patch +++ b/target/linux/airoha/patches-6.6/120-03-pinctrl-airoha-convert-PHY-LED-GPIO-to-macro.patch @@ -15,7 +15,7 @@ Signed-off-by: Christian Marangi --- a/drivers/pinctrl/mediatek/pinctrl-airoha.c +++ b/drivers/pinctrl/mediatek/pinctrl-airoha.c -@@ -1478,516 +1478,110 @@ static const struct airoha_pinctrl_func_ +@@ -1472,516 +1472,110 @@ static const struct airoha_pinctrl_func_ }, }; diff --git a/target/linux/airoha/patches-6.6/120-04-pinctrl-airoha-convert-PWM-GPIO-to-macro.patch b/target/linux/airoha/patches-6.6/120-04-pinctrl-airoha-convert-PWM-GPIO-to-macro.patch index e541cdd610f..948d41dfd0d 100644 --- a/target/linux/airoha/patches-6.6/120-04-pinctrl-airoha-convert-PWM-GPIO-to-macro.patch +++ b/target/linux/airoha/patches-6.6/120-04-pinctrl-airoha-convert-PWM-GPIO-to-macro.patch @@ -16,7 +16,7 @@ Signed-off-by: Christian Marangi --- a/drivers/pinctrl/mediatek/pinctrl-airoha.c +++ b/drivers/pinctrl/mediatek/pinctrl-airoha.c -@@ -1078,404 +1078,75 @@ static const struct airoha_pinctrl_func_ +@@ -1072,404 +1072,75 @@ static const struct airoha_pinctrl_func_ }; /* PWM */ diff --git a/target/linux/airoha/patches-6.6/120-05-pinctrl-airoha-add-support-for-Airoha-AN7583-PINs.patch b/target/linux/airoha/patches-6.6/120-05-pinctrl-airoha-add-support-for-Airoha-AN7583-PINs.patch index 37d3b29f2d4..c4ba9f13b8f 100644 --- a/target/linux/airoha/patches-6.6/120-05-pinctrl-airoha-add-support-for-Airoha-AN7583-PINs.patch +++ b/target/linux/airoha/patches-6.6/120-05-pinctrl-airoha-add-support-for-Airoha-AN7583-PINs.patch @@ -15,7 +15,7 @@ Signed-off-by: Christian Marangi --- a/drivers/pinctrl/mediatek/pinctrl-airoha.c +++ b/drivers/pinctrl/mediatek/pinctrl-airoha.c -@@ -75,6 +75,7 @@ +@@ -69,6 +69,7 @@ #define GPIO_PCM_SPI_CS3_MODE_MASK BIT(20) #define GPIO_PCM_SPI_CS2_MODE_P156_MASK BIT(19) #define GPIO_PCM_SPI_CS2_MODE_P128_MASK BIT(18) @@ -23,7 +23,7 @@ Signed-off-by: Christian Marangi #define GPIO_PCM_SPI_CS1_MODE_MASK BIT(17) #define GPIO_PCM_SPI_MODE_MASK BIT(16) #define GPIO_PCM2_MODE_MASK BIT(13) -@@ -132,6 +133,8 @@ +@@ -126,6 +127,8 @@ /* CONF */ #define REG_I2C_SDA_E2 0x001c @@ -32,7 +32,7 @@ Signed-off-by: Christian Marangi #define SPI_MISO_E2_MASK BIT(14) #define SPI_MOSI_E2_MASK BIT(13) #define SPI_CLK_E2_MASK BIT(12) -@@ -139,12 +142,16 @@ +@@ -133,12 +136,16 @@ #define PCIE2_RESET_E2_MASK BIT(10) #define PCIE1_RESET_E2_MASK BIT(9) #define PCIE0_RESET_E2_MASK BIT(8) @@ -49,7 +49,7 @@ Signed-off-by: Christian Marangi #define SPI_MISO_E4_MASK BIT(14) #define SPI_MOSI_E4_MASK BIT(13) #define SPI_CLK_E4_MASK BIT(12) -@@ -152,6 +159,8 @@ +@@ -146,6 +153,8 @@ #define PCIE2_RESET_E4_MASK BIT(10) #define PCIE1_RESET_E4_MASK BIT(9) #define PCIE0_RESET_E4_MASK BIT(8) @@ -58,7 +58,7 @@ Signed-off-by: Christian Marangi #define UART1_RXD_E4_MASK BIT(3) #define UART1_TXD_E4_MASK BIT(2) #define I2C_SCL_E4_MASK BIT(1) -@@ -163,6 +172,8 @@ +@@ -157,6 +166,8 @@ #define REG_GPIO_H_E4 0x0030 #define REG_I2C_SDA_PU 0x0044 @@ -67,7 +67,7 @@ Signed-off-by: Christian Marangi #define SPI_MISO_PU_MASK BIT(14) #define SPI_MOSI_PU_MASK BIT(13) #define SPI_CLK_PU_MASK BIT(12) -@@ -170,12 +181,16 @@ +@@ -164,12 +175,16 @@ #define PCIE2_RESET_PU_MASK BIT(10) #define PCIE1_RESET_PU_MASK BIT(9) #define PCIE0_RESET_PU_MASK BIT(8) @@ -84,7 +84,7 @@ Signed-off-by: Christian Marangi #define SPI_MISO_PD_MASK BIT(14) #define SPI_MOSI_PD_MASK BIT(13) #define SPI_CLK_PD_MASK BIT(12) -@@ -183,6 +198,8 @@ +@@ -177,6 +192,8 @@ #define PCIE2_RESET_PD_MASK BIT(10) #define PCIE1_RESET_PD_MASK BIT(9) #define PCIE0_RESET_PD_MASK BIT(8) @@ -93,7 +93,7 @@ Signed-off-by: Christian Marangi #define UART1_RXD_PD_MASK BIT(3) #define UART1_TXD_PD_MASK BIT(2) #define I2C_SCL_PD_MASK BIT(1) -@@ -630,10 +647,223 @@ static const struct pingroup en7581_pinc +@@ -624,10 +641,223 @@ static const struct pingroup en7581_pinc PINCTRL_PIN_GROUP("pcie_reset2", en7581_pcie_reset2), }; @@ -317,7 +317,7 @@ Signed-off-by: Christian Marangi static const char *const uart_groups[] = { "uart2", "uart2_cts_rts", "hsuart", "hsuart_cts_rts", "uart4", "uart5" }; -@@ -646,11 +876,16 @@ static const char *const pcm_spi_groups[ +@@ -640,11 +870,16 @@ static const char *const pcm_spi_groups[ "pcm_spi_cs2_p156", "pcm_spi_cs2_p128", "pcm_spi_cs3", "pcm_spi_cs4" }; @@ -334,7 +334,7 @@ Signed-off-by: Christian Marangi static const char *const pwm_groups[] = { "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", -@@ -689,6 +924,22 @@ static const char *const phy3_led1_group +@@ -683,6 +918,22 @@ static const char *const phy3_led1_group "gpio45", "gpio46" }; static const char *const phy4_led1_groups[] = { "gpio43", "gpio44", "gpio45", "gpio46" }; @@ -357,7 +357,7 @@ Signed-off-by: Christian Marangi static const struct airoha_pinctrl_func_group pon_func_group[] = { { -@@ -766,6 +1017,25 @@ static const struct airoha_pinctrl_func_ +@@ -760,6 +1011,25 @@ static const struct airoha_pinctrl_func_ }, }; @@ -383,7 +383,7 @@ Signed-off-by: Christian Marangi static const struct airoha_pinctrl_func_group uart_func_group[] = { { .name = "uart2", -@@ -1007,6 +1277,73 @@ static const struct airoha_pinctrl_func_ +@@ -1001,6 +1271,73 @@ static const struct airoha_pinctrl_func_ }, }; @@ -457,7 +457,7 @@ Signed-off-by: Christian Marangi static const struct airoha_pinctrl_func_group i2s_func_group[] = { { .name = "i2s", -@@ -1077,6 +1414,28 @@ static const struct airoha_pinctrl_func_ +@@ -1071,6 +1408,28 @@ static const struct airoha_pinctrl_func_ }, }; @@ -486,7 +486,7 @@ Signed-off-by: Christian Marangi /* PWM */ #define AIROHA_PINCTRL_PWM(gpio, mux_val) \ { \ -@@ -1255,6 +1614,94 @@ static const struct airoha_pinctrl_func_ +@@ -1249,6 +1608,94 @@ static const struct airoha_pinctrl_func_ LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(2)), }; @@ -581,7 +581,7 @@ Signed-off-by: Christian Marangi static const struct airoha_pinctrl_func en7581_pinctrl_funcs[] = { PINCTRL_FUNC_DESC("pon", pon), PINCTRL_FUNC_DESC("tod_1pps", tod_1pps), -@@ -1281,6 +1728,31 @@ static const struct airoha_pinctrl_func +@@ -1275,6 +1722,31 @@ static const struct airoha_pinctrl_func PINCTRL_FUNC_DESC("phy4_led1", phy4_led1), }; @@ -613,7 +613,7 @@ Signed-off-by: Christian Marangi static const struct airoha_pinctrl_conf en7581_pinctrl_pullup_conf[] = { PINCTRL_CONF_DESC(0, REG_I2C_SDA_PU, UART1_TXD_PU_MASK), PINCTRL_CONF_DESC(1, REG_I2C_SDA_PU, UART1_RXD_PU_MASK), -@@ -1342,6 +1814,62 @@ static const struct airoha_pinctrl_conf +@@ -1336,6 +1808,62 @@ static const struct airoha_pinctrl_conf PINCTRL_CONF_DESC(63, REG_I2C_SDA_PU, PCIE2_RESET_PU_MASK), }; @@ -676,7 +676,7 @@ Signed-off-by: Christian Marangi static const struct airoha_pinctrl_conf en7581_pinctrl_pulldown_conf[] = { PINCTRL_CONF_DESC(0, REG_I2C_SDA_PD, UART1_TXD_PD_MASK), PINCTRL_CONF_DESC(1, REG_I2C_SDA_PD, UART1_RXD_PD_MASK), -@@ -1403,6 +1931,62 @@ static const struct airoha_pinctrl_conf +@@ -1397,6 +1925,62 @@ static const struct airoha_pinctrl_conf PINCTRL_CONF_DESC(63, REG_I2C_SDA_PD, PCIE2_RESET_PD_MASK), }; @@ -739,7 +739,7 @@ Signed-off-by: Christian Marangi static const struct airoha_pinctrl_conf en7581_pinctrl_drive_e2_conf[] = { PINCTRL_CONF_DESC(0, REG_I2C_SDA_E2, UART1_TXD_E2_MASK), PINCTRL_CONF_DESC(1, REG_I2C_SDA_E2, UART1_RXD_E2_MASK), -@@ -1464,6 +2048,62 @@ static const struct airoha_pinctrl_conf +@@ -1458,6 +2042,62 @@ static const struct airoha_pinctrl_conf PINCTRL_CONF_DESC(63, REG_I2C_SDA_E2, PCIE2_RESET_E2_MASK), }; @@ -802,7 +802,7 @@ Signed-off-by: Christian Marangi static const struct airoha_pinctrl_conf en7581_pinctrl_drive_e4_conf[] = { PINCTRL_CONF_DESC(0, REG_I2C_SDA_E4, UART1_TXD_E4_MASK), PINCTRL_CONF_DESC(1, REG_I2C_SDA_E4, UART1_RXD_E4_MASK), -@@ -1525,12 +2165,73 @@ static const struct airoha_pinctrl_conf +@@ -1519,12 +2159,73 @@ static const struct airoha_pinctrl_conf PINCTRL_CONF_DESC(63, REG_I2C_SDA_E4, PCIE2_RESET_E4_MASK), }; @@ -876,7 +876,7 @@ Signed-off-by: Christian Marangi static int airoha_convert_pin_to_reg_offset(struct pinctrl_dev *pctrl_dev, struct pinctrl_gpio_range *range, int pin) -@@ -2267,8 +2968,40 @@ static const struct airoha_pinctrl_match +@@ -2266,8 +2967,40 @@ static const struct airoha_pinctrl_match }, }; diff --git a/target/linux/airoha/patches-6.6/123-01-ASoC-mediatek-move-some-header-to-global-include.patch b/target/linux/airoha/patches-6.6/123-01-ASoC-mediatek-move-some-header-to-global-include.patch index c9cdb9a3262..5016ed75035 100644 --- a/target/linux/airoha/patches-6.6/123-01-ASoC-mediatek-move-some-header-to-global-include.patch +++ b/target/linux/airoha/patches-6.6/123-01-ASoC-mediatek-move-some-header-to-global-include.patch @@ -62,7 +62,7 @@ Signed-off-by: Christian Marangi int mtk_afe_combine_sub_dai(struct mtk_base_afe *afe) --- a/sound/soc/mediatek/mt2701/mt2701-afe-pcm.c +++ b/sound/soc/mediatek/mt2701/mt2701-afe-pcm.c -@@ -16,8 +16,8 @@ +@@ -18,8 +18,8 @@ #include "mt2701-afe-common.h" #include "mt2701-afe-clock-ctrl.h" @@ -233,7 +233,7 @@ Signed-off-by: Christian Marangi +#include #include "../common/mtk-dsp-sof-common.h" #include "../common/mtk-soc-card.h" - #include "../common/mtk-soundcard-driver.h" + #include "mt8195-afe-clk.h" --- /dev/null +++ b/include/sound/mediatek/mtk-afe-fe-dai.h @@ -0,0 +1,53 @@ diff --git a/target/linux/airoha/patches-6.6/123-02-ASoC-airoha-Add-AFE-and-I2S-driver-for-Airoha-AN7581.patch b/target/linux/airoha/patches-6.6/123-02-ASoC-airoha-Add-AFE-and-I2S-driver-for-Airoha-AN7581.patch index 00578601c4a..93d2baf5c35 100644 --- a/target/linux/airoha/patches-6.6/123-02-ASoC-airoha-Add-AFE-and-I2S-driver-for-Airoha-AN7581.patch +++ b/target/linux/airoha/patches-6.6/123-02-ASoC-airoha-Add-AFE-and-I2S-driver-for-Airoha-AN7581.patch @@ -30,7 +30,7 @@ Signed-off-by: Christian Marangi --- a/sound/soc/Kconfig +++ b/sound/soc/Kconfig -@@ -86,6 +86,7 @@ config SND_SOC_ACPI +@@ -78,6 +78,7 @@ config SND_SOC_ACPI # All the supported SoCs source "sound/soc/adi/Kconfig" @@ -40,7 +40,7 @@ Signed-off-by: Christian Marangi source "sound/soc/atmel/Kconfig" --- a/sound/soc/Makefile +++ b/sound/soc/Makefile -@@ -40,6 +40,7 @@ obj-$(CONFIG_SND_SOC) += codecs/ +@@ -36,6 +36,7 @@ obj-$(CONFIG_SND_SOC) += codecs/ obj-$(CONFIG_SND_SOC) += generic/ obj-$(CONFIG_SND_SOC) += apple/ obj-$(CONFIG_SND_SOC) += adi/ diff --git a/target/linux/airoha/patches-6.6/220-05-dt-bindings-phy-Add-documentation-for-Airoha-AN7581-.patch b/target/linux/airoha/patches-6.6/220-05-dt-bindings-phy-Add-documentation-for-Airoha-AN7581-.patch index 3fc0ba7dc7c..aa1de9815a8 100644 --- a/target/linux/airoha/patches-6.6/220-05-dt-bindings-phy-Add-documentation-for-Airoha-AN7581-.patch +++ b/target/linux/airoha/patches-6.6/220-05-dt-bindings-phy-Add-documentation-for-Airoha-AN7581-.patch @@ -111,9 +111,9 @@ Signed-off-by: Christian Marangi + --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -737,6 +737,13 @@ S: Maintained - F: Documentation/devicetree/bindings/spi/airoha,en7581-snand.yaml - F: drivers/spi/spi-airoha-snfi.c +@@ -647,6 +647,13 @@ S: Supported + F: fs/aio.c + F: include/linux/*aio*.h +AIROHA USB PHY DRIVER +M: Christian Marangi @@ -123,8 +123,8 @@ Signed-off-by: Christian Marangi +F: include/dt-bindings/phy/airoha,an7581-usb-phy.h + AIRSPY MEDIA DRIVER + M: Antti Palosaari L: linux-media@vger.kernel.org - S: Orphan --- /dev/null +++ b/include/dt-bindings/phy/airoha,an7581-usb-phy.h @@ -0,0 +1,11 @@ diff --git a/target/linux/airoha/patches-6.6/220-07-phy-airoha-Add-support-for-Airoha-AN7581-USB-PHY.patch b/target/linux/airoha/patches-6.6/220-07-phy-airoha-Add-support-for-Airoha-AN7581-USB-PHY.patch index 609df082853..96c2d7cdede 100644 --- a/target/linux/airoha/patches-6.6/220-07-phy-airoha-Add-support-for-Airoha-AN7581-USB-PHY.patch +++ b/target/linux/airoha/patches-6.6/220-07-phy-airoha-Add-support-for-Airoha-AN7581-USB-PHY.patch @@ -35,7 +35,7 @@ Signed-off-by: Christian Marangi --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -742,6 +742,7 @@ M: Christian Marangi --- a/drivers/pci/controller/pcie-mediatek-gen3.c +++ b/drivers/pci/controller/pcie-mediatek-gen3.c -@@ -925,6 +925,12 @@ static int mtk_pcie_en7581_power_up(stru +@@ -932,6 +932,12 @@ static int mtk_pcie_en7581_power_up(stru size = lower_32_bits(resource_size(entry->res)); regmap_write(pbus_regmap, args[1], GENMASK(31, __fls(size)));