On 6/10/24 3:49 PM, Christophe ROULLIER wrote:Ok I will make a warning for MP15 and MP25 and error for MP13.
On 6/10/24 15:43, Marek Vasut wrote:
On 6/10/24 1:45 PM, Christophe ROULLIER wrote:For MP25, no need of mask, so for moment it is specific to MP13.
On 6/10/24 12:39, Marek Vasut wrote:
On 6/10/24 9:14 AM, Christophe Roullier wrote:No, it is only "warning" information, for MP1 the mask is not needed (and for backward compatibility is not planned to put mask parameter mandatory)
[...]
static int stm32mp1_set_mode(struct plat_stmmacenet_data *plat_dat)
@@ -303,7 +307,7 @@ static int stm32mcu_set_mode(struct plat_stmmacenet_data *plat_dat)
dev_dbg(dwmac->dev, "Mode %s", phy_modes(plat_dat->mac_interface));
return regmap_update_bits(dwmac->regmap, reg,
- dwmac->ops->syscfg_eth_mask, val << 23);
+ SYSCFG_MCU_ETH_MASK, val << 23);
}
static void stm32_dwmac_clk_disable(struct stm32_dwmac *dwmac, bool suspend)
@@ -348,8 +352,15 @@ static int stm32_dwmac_parse_data(struct stm32_dwmac *dwmac,
return PTR_ERR(dwmac->regmap);
err = of_property_read_u32_index(np, "st,syscon", 1, &dwmac->mode_reg);
- if (err)
+ if (err) {
dev_err(dev, "Can't get sysconfig mode offset (%d)\n", err);
+ return err;
+ }
+
+ dwmac->mode_mask = SYSCFG_MP1_ETH_MASK;
+ err = of_property_read_u32_index(np, "st,syscon", 2, &dwmac->mode_mask);
+ if (err)
+ dev_dbg(dev, "Warning sysconfig register mask not set\n");
Isn't this an error , so dev_err() ?
Should this be an error for anything newer than MP15 then ?
Make this a warning for MP15, error for MP13, do not check st,syscon presence for MP2 at all. Would that work ?