Re: [PATCH v4 2/2] i2c: muxes: pca954x: Enable features on MAX7357

From: Naresh Solanki
Date: Tue Oct 17 2023 - 11:04:44 EST


Hi Andi,


On Fri, 6 Oct 2023 at 04:30, Andi Shyti <andi.shyti@xxxxxxxxxx> wrote:
>
> Hi Patrick,
>
> On Thu, Oct 05, 2023 at 03:45:40PM +0200, Naresh Solanki wrote:
> > From: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx>
> >
> > Enable additional features based on DT settings and unconditionally
> > release the shared interrupt pin after 1.6 seconds and allow to use
> > it as reset.
> >
> > These features aren't enabled by default & its up to board designer
>
> /&/and/
> /its/it's/
Ack
>
> > to enable the same as it may have unexpected side effects.
>
> which side effects?
>
> > These should be validated for proper functioning & detection of devices
>
> /&/and/
>
> it ain't WhatsApp :-)
Ack
>
> > in secondary bus as sometimes it can cause secondary bus being disabled.
>
> Is this latest sentence a related to this patch or is it a free
> information?
Its related to the potential side effect of the feature if enabled.
>
> > Signed-off-by: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx>
> > Signed-off-by: Naresh Solanki <naresh.solanki@xxxxxxxxxxxxx>
>
> [...]
>
> > else
> > data->last_chan = 0; /* Disconnect multiplexer */
> >
> > - ret = i2c_smbus_write_byte(client, data->last_chan);
> > + if (device_is_compatible(&client->dev, "maxim,max7357")) {
> > + if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WRITE_BYTE_DATA)) {
> > + u8 conf = MAX7357_POR_DEFAULT_CONF;
> > + /*
> > + * The interrupt signal is shared with the reset pin. Release the
> > + * interrupt after 1.6 seconds to allow using the pin as reset.
> > + * The interrupt isn't serviced yet.
> > + */
> > + conf |= MAX7357_CONF_RELEASE_INT;
>
> This setting comes as default, what about the dedicated reset
> gpio pin? How is the driver going to understand whether from the
> irq pin is coming a reset or an interrupt?
As per datasheet,
RELEASE_INT bit in conf is cleared at poweron.
The RST/INT is dual function pin.
>
> > + if (device_property_read_bool(&client->dev, "maxim,isolate-stuck-channel"))
> > + conf |= MAX7357_CONF_DISCON_SINGLE_CHAN;
> > + if (device_property_read_bool(&client->dev,
> > + "maxim,send-flush-out-sequence"))
> > + conf |= MAX7357_CONF_FLUSH_OUT;
> > + if (device_property_read_bool(&client->dev,
> > + "maxim,preconnection-wiggle-test-enable"))
> > + conf |= MAX7357_CONF_PRECONNECT_TEST;
>
> How are these properties affecting the economy of the driver? Can
> we have a brief description?
Not sure what you mean.
Are you asking for impact on the driver or feature description ?
Note: These are chip features & this patch is intended to enable them
based on DT settings.

Regards,
Naresh
>
> Andi