On Tue, Nov 14, 2023 at 3:30 PM Corey Minyard <miny...@acm.org> wrote:
> On Mon, Nov 13, 2023 at 02:31:56PM +0800, Potin Lai wrote: > > Add pca9543 2-channel i2c-mux switch support. > > > > Signed-off-by: Potin Lai <potin.lai...@gmail.com> > > Looks good to me. > > Acked-by: Corey Minyard <cminy...@mvista.com> > > > --- > > hw/i2c/i2c_mux_pca954x.c | 12 ++++++++++++ > > include/hw/i2c/i2c_mux_pca954x.h | 1 + > > 2 files changed, 13 insertions(+) > > > > diff --git a/hw/i2c/i2c_mux_pca954x.c b/hw/i2c/i2c_mux_pca954x.c > > index db5db956a6..6aace0fc47 100644 > > --- a/hw/i2c/i2c_mux_pca954x.c > > +++ b/hw/i2c/i2c_mux_pca954x.c > > @@ -30,6 +30,7 @@ > > > > #define PCA9548_CHANNEL_COUNT 8 > > #define PCA9546_CHANNEL_COUNT 4 > > +#define PCA9543_CHANNEL_COUNT 2 > > > > /* > > * struct Pca954xState - The pca954x state object. > > @@ -172,6 +173,12 @@ I2CBus *pca954x_i2c_get_bus(I2CSlave *mux, uint8_t > channel) > > return pca954x->bus[channel]; > > } > > > > +static void pca9543_class_init(ObjectClass *klass, void *data) > > +{ > > + Pca954xClass *s = PCA954X_CLASS(klass); > > + s->nchans = PCA9543_CHANNEL_COUNT; > > +} > > + > > static void pca9546_class_init(ObjectClass *klass, void *data) > > { > > Pca954xClass *s = PCA954X_CLASS(klass); > > @@ -246,6 +253,11 @@ static const TypeInfo pca954x_info[] = { > > .class_init = pca954x_class_init, > > .abstract = true, > > }, > > + { > > + .name = TYPE_PCA9543, > > + .parent = TYPE_PCA954X, > > + .class_init = pca9543_class_init, > > + }, > > { > > .name = TYPE_PCA9546, > > .parent = TYPE_PCA954X, > > diff --git a/include/hw/i2c/i2c_mux_pca954x.h > b/include/hw/i2c/i2c_mux_pca954x.h > > index 3dd25ec983..1da5508ed5 100644 > > --- a/include/hw/i2c/i2c_mux_pca954x.h > > +++ b/include/hw/i2c/i2c_mux_pca954x.h > > @@ -3,6 +3,7 @@ > > > > #include "hw/i2c/i2c.h" > > > > +#define TYPE_PCA9543 "pca9543" > > #define TYPE_PCA9546 "pca9546" > > #define TYPE_PCA9548 "pca9548" > > > > -- > > 2.31.1 > > > > Corey, can you include this in a pull email? I don't quite have that set up at present, Titus is going to help me figure it out. Patrick