Re: [PATCH v2 03/14] mfd: Add Microchip ZL3073x support

Andy Shevchenko
2025-04-09T15:43:24Z

On Wed, Apr 09, 2025 at 04:42:39PM +0200, Ivan Vecera wrote:
> Add base MFD driver for Microchip Azurite ZL3073x chip family.
> These chips provide DPLL and PHC (PTP) functionality and they can
> be connected over I2C or SPI bus.
>
> The MFD driver provide basic communication and synchronization
> over the bus and common functionality that are used by the DPLL
> driver (later in this series) and by the PTP driver (will be
> added later).
>
> The chip family is characterized by following properties:
> * 2 separate DPLL units (channels)
> * 5 synthesizers
> * 10 input pins (references)
> * 10 outputs
> * 20 output pins (output pin pair shares one output)
> * Each reference and output can act in differential or single-ended
> mode (reference or output in differential mode consumes 2 pins)
> * Each output is connected to one of the synthesizers
> * Each synthesizer is driven by one of the DPLL unit

...

> +/*
> + * Regmap ranges
> + */
> +#define ZL3073x_PAGE_SIZE 128
> +#define ZL3073x_NUM_PAGES 16
> +#define ZL3073x_PAGE_SEL 0x7F
> +
> +/*
> + * Regmap range configuration
> + *
> + * The device uses 7-bit addressing and has 16 register pages with
> + * range 0x00-0x7f. The register 0x7f in each page acts as page
> + * selector where bits 0-3 contains currently selected page.
> + */
> +static const struct regmap_range_cfg zl3073x_regmap_ranges[] = {
> + {
> + .range_min = 0,

This still has the same issue, you haven't given a chance to me to reply
in v1 thread. I'm not going to review this as it's not settled down yet.
Let's first discuss the questions you have in v1.

> + .range_max = ZL3073x_NUM_PAGES * ZL3073x_PAGE_SIZE,
> + .selector_reg = ZL3073x_PAGE_SEL,
> + .selector_mask = GENMASK(3, 0),
> + .selector_shift = 0,
> + .window_start = 0,
> + .window_len = ZL3073x_PAGE_SIZE,
> + },
> +};

--
With Best Regards,
Andy Shevchenko