> +static int > +qca8k_setup_of_pws_reg(struct qca8k_priv *priv) > +{ > + struct device_node *node = priv->dev->of_node; > + u32 val = 0; > + > + if (priv->switch_id == QCA8K_ID_QCA8327) > + if (of_property_read_bool(node, "qca,package48")) > + val |= QCA8327_PWS_PACKAGE48_EN; What does this actually do? How is PACKAGE48 different to normal mode? > + > + if (of_property_read_bool(node, "qca,power-on-sel")) > + val |= QCA8K_PWS_POWER_ON_SEL; What happens if you unconditionally do this? Why is a DT property required? > + > + if (of_property_read_bool(node, "qca,led-open-drain")) > + /* POWER_ON_SEL needs to be set when configuring led to open drain */ > + val |= QCA8K_PWS_LED_OPEN_EN_CSR | QCA8K_PWS_POWER_ON_SEL; This is getting into territory of adding LED support for PHYs, which we want to do via the LED subsystem. Andrew