linux/drivers/dpll
Ivan Vecera fcb8b32a68 dpll: zl3073x: Handle missing or corrupted flash configuration
If the internal flash contains missing or corrupted configuration,
basic communication over the bus still functions, but the device
is not capable of normal operation (for example, using mailboxes).

This condition is indicated in the info register by the ready bit.
If this bit is cleared, the probe procedure times out while fetching
the device state.

Handle this case by checking the ready bit value in zl3073x_dev_start()
and skipping DPLL device and pin registration if it is cleared.
Do not report this condition as an error, allowing the devlink device
to be registered and enabling the user to flash the correct configuration.

Prior this patch:
[   31.112299] zl3073x-i2c 1-0070: Failed to fetch input state: -ETIMEDOUT
[   31.116332] zl3073x-i2c 1-0070: error -ETIMEDOUT: Failed to start device
[   31.136881] zl3073x-i2c 1-0070: probe with driver zl3073x-i2c failed with error -110

After this patch:
[   41.011438] zl3073x-i2c 1-0070: FW not fully ready - missing or corrupted config

Fixes: 75a71ecc24 ("dpll: zl3073x: Register DPLL devices and pins")
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20251008141445.841113-1-ivecera@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-10-13 17:24:36 -07:00
..
zl3073x dpll: zl3073x: Handle missing or corrupted flash configuration 2025-10-13 17:24:36 -07:00
Kconfig dpll: Add basic Microchip ZL3073x support 2025-07-09 19:08:52 -07:00
Makefile dpll: Add basic Microchip ZL3073x support 2025-07-09 19:08:52 -07:00
dpll_core.c dpll: add reference sync get/set 2025-06-27 16:38:02 -07:00
dpll_core.h dpll: add reference sync get/set 2025-06-27 16:38:02 -07:00
dpll_netlink.c dpll: add phase_offset_avg_factor_get/set callback ops 2025-09-29 18:57:41 -07:00
dpll_netlink.h dpll: add reference sync get/set 2025-06-27 16:38:02 -07:00
dpll_nl.c dpll: add phase-offset-avg-factor device attribute to netlink spec 2025-09-29 18:57:41 -07:00
dpll_nl.h dpll: add reference-sync netlink attribute 2025-06-27 16:38:02 -07:00