mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-06 20:54:00 -05:00
Add a new microchipsw target aimed add supporting Microchip switch SoC-s. Start by supporting LAN969x SoC-s as the first subtarget. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
61 lines
2.1 KiB
Diff
61 lines
2.1 KiB
Diff
From efdc2c3094cc2e8aca09c3a16f7a0f3a10d9a097 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Machon <daniel.machon@microchip.com>
|
|
Date: Fri, 4 Oct 2024 15:19:33 +0200
|
|
Subject: [PATCH 35/82] net: sparx5: use SPX5_CONST for constants which do not
|
|
have a symbol
|
|
|
|
Now that we have indentified all the chip constants, update the use of
|
|
them where a symbol is not defined for the constant.
|
|
|
|
Reviewed-by: Steen Hegelund <Steen.Hegelund@microchip.com>
|
|
Signed-off-by: Daniel Machon <daniel.machon@microchip.com>
|
|
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|
---
|
|
drivers/net/ethernet/microchip/sparx5/sparx5_main.c | 13 +++++++++----
|
|
1 file changed, 9 insertions(+), 4 deletions(-)
|
|
|
|
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
|
|
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
|
|
@@ -522,7 +522,7 @@ static int sparx5_init_coreclock(struct
|
|
sparx5,
|
|
LRN_AUTOAGE_CFG_1);
|
|
|
|
- for (idx = 0; idx < 3; idx++)
|
|
+ for (idx = 0; idx < sparx5->data->consts->n_sio_clks; idx++)
|
|
spx5_rmw(GCB_SIO_CLOCK_SYS_CLK_PERIOD_SET(clk_period / 100),
|
|
GCB_SIO_CLOCK_SYS_CLK_PERIOD,
|
|
sparx5,
|
|
@@ -550,16 +550,21 @@ static u32 qlim_wm(struct sparx5 *sparx5
|
|
|
|
static int sparx5_qlim_set(struct sparx5 *sparx5)
|
|
{
|
|
+ const struct sparx5_consts *consts = sparx5->data->consts;
|
|
u32 res, dp, prio;
|
|
|
|
for (res = 0; res < 2; res++) {
|
|
for (prio = 0; prio < 8; prio++)
|
|
spx5_wr(0xFFF, sparx5,
|
|
- QRES_RES_CFG(prio + 630 + res * 1024));
|
|
+ QRES_RES_CFG(prio +
|
|
+ consts->qres_max_prio_idx +
|
|
+ res * 1024));
|
|
|
|
for (dp = 0; dp < 4; dp++)
|
|
spx5_wr(0xFFF, sparx5,
|
|
- QRES_RES_CFG(dp + 638 + res * 1024));
|
|
+ QRES_RES_CFG(dp +
|
|
+ consts->qres_max_colour_idx +
|
|
+ res * 1024));
|
|
}
|
|
|
|
/* Set 80,90,95,100% of memory size for top watermarks */
|
|
@@ -605,7 +610,7 @@ static int sparx5_start(struct sparx5 *s
|
|
int err;
|
|
|
|
/* Setup own UPSIDs */
|
|
- for (idx = 0; idx < 3; idx++) {
|
|
+ for (idx = 0; idx < consts->n_own_upsids; idx++) {
|
|
spx5_wr(idx, sparx5, ANA_AC_OWN_UPSID(idx));
|
|
spx5_wr(idx, sparx5, ANA_CL_OWN_UPSID(idx));
|
|
spx5_wr(idx, sparx5, ANA_L2_OWN_UPSID(idx));
|