+struct lan966x_reset_context {
+ struct regmap *gcb_ctrl;
+ struct regmap *cpu_ctrl;
+ struct notifier_block restart_handler;
+};
+
+#define PROTECT_REG 0x88
+#define PROTECT_BIT BIT(5)
+#define SOFT_RESET_REG 0x00
+#define SOFT_RESET_BIT BIT(1)
+
+static int lan966x_restart_handle(struct notifier_block *this,
+ unsigned long mode, void *cmd)
+{
+ struct lan966x_reset_context *ctx = container_of(this, struct lan966x_reset_context,
+ restart_handler);
+
+ /* Make sure the core is not protected from reset */
+ regmap_update_bits(ctx->cpu_ctrl, PROTECT_REG, PROTECT_BIT, 0);
This all looks familiar...
Maybe yet another compatible added to reset-microchip-sparx5.c ?
Andrew