On 3/21/26 11:26 PM, Grzegorz Nitka wrote:
The SyncE_Ref pin may operate as either an active or inactive reference
depending on board design and system configuration. Some platforms need
to disable the SyncE reference dynamically (e.g., when selecting a
different recovered clock input). The hardware supports toggling this
pin, therefore advertise the STATE_CAN_CHANGE capability.

Reviewed-by: Arkadiusz Kubalewski <[email protected]>
Reviewed-by: Aleksandr Loktionov <[email protected]>
Signed-off-by: Grzegorz Nitka <[email protected]>
---
  drivers/dpll/zl3073x/prop.c | 9 +++++++++
  1 file changed, 9 insertions(+)

diff --git a/drivers/dpll/zl3073x/prop.c b/drivers/dpll/zl3073x/prop.c
index ac9d41d0f978..acd7061a741a 100644
--- a/drivers/dpll/zl3073x/prop.c
+++ b/drivers/dpll/zl3073x/prop.c
@@ -215,6 +215,15 @@ struct zl3073x_pin_props *zl3073x_pin_props_get(struct 
zl3073x_dev *zldev,
props->dpll_props.type = DPLL_PIN_TYPE_GNSS; + /*
+               * The SyncE_Ref pin supports enabling/disabling dynamically.
+               * Some platforms may choose to expose this through firmware
+               * configuration later. For now, advertise this capability
+               * universally since the hardware allows state toggling.
+               */
+               props->dpll_props.capabilities |=
+                       DPLL_PIN_CAPABILITIES_STATE_CAN_CHANGE;
+
                /* The output pin phase adjustment granularity equals half of
                 * the synth frequency count.
                 */

I'm wondering about the purpose of this flag, or rather the need to set
it manually from the driver. Surely, the existence of the
state_on_dpll_set() or state_on_pin_set() callback clearly indicates
this capability.

Wouldn't it be simpler for the core to set it directly based on this?

Ivan

Reply via email to