From: Boris Brezillon <boris.brezillon@bootlin.com> To: vitor <Vitor.Soares@synopsys.com>, linux-gpio@vger.kernel.org, Sekhar Nori <nsekhar@ti.com> Cc: Wolfram Sang <wsa@the-dreams.de>, linux-i2c@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>, linux-doc@vger.kernel.org, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, Przemyslaw Sroka <psroka@cadence.com>, Arkadiusz Golec <agolec@cadence.com>, Alan Douglas <adouglas@cadence.com>, Bartosz Folta <bfolta@cadence.com>, Damian Kos <dkos@cadence.com>, Alicja Jurasik-Urbaniak <alicja@cadence.com>, Cyprian Wronka <cwronka@cadence.com>, Suresh Punnoose <sureshp@cadence.com>, Rafal Ciepiela <rafalc@cadence.com>, Thomas Petazzoni <thomas.petazzoni@bootlin.com>, Nishanth Menon <nm@ti.com>, Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>, Mark Rutland <mark.rutland@arm.com>, Ian Campbell <ijc+devicetree@hel> Subject: Re: [PATCH v6 01/10] i3c: Add core I3C infrastructure Date: Fri, 24 Aug 2018 14:39:34 +0200 [thread overview] Message-ID: <20180824143934.6d6b6487@bbrezillon> (raw) In-Reply-To: <d2f40cc2-b344-69d1-4314-83524ad7b178@synopsys.com> Hi Vitor, On Wed, 22 Aug 2018 17:43:34 +0100 vitor <Vitor.Soares@synopsys.com> wrote: > Hi Boris, > > > On 19-07-2018 16:29, Boris Brezillon wrote: > > +int i3c_bus_register(struct i3c_bus *i3cbus) > > +{ > > + struct i2c_dev_desc *desc; > > + > > + i3c_bus_for_each_i2cdev(i3cbus, desc) { > > + switch (desc->boardinfo->lvr & I3C_LVR_I2C_INDEX_MASK) { > > + case I3C_LVR_I2C_INDEX(0): > > + if (i3cbus->mode < I3C_BUS_MODE_MIXED_FAST) > > + i3cbus->mode = I3C_BUS_MODE_MIXED_FAST; > > + break; > > + > > + case I3C_LVR_I2C_INDEX(1): > > + case I3C_LVR_I2C_INDEX(2): > > + if (i3cbus->mode < I3C_BUS_MODE_MIXED_SLOW) > > + i3cbus->mode = I3C_BUS_MODE_MIXED_SLOW; > > + break; > > + > > + default: > > + return -EINVAL; > > + } > > + } > > + > > + if (!i3cbus->scl_rate.i3c) > > + i3cbus->scl_rate.i3c = I3C_BUS_TYP_I3C_SCL_RATE; > > + > > + if (!i3cbus->scl_rate.i2c) { > > + if (i3cbus->mode == I3C_BUS_MODE_MIXED_SLOW) > > + i3cbus->scl_rate.i2c = I3C_BUS_I2C_FM_SCL_RATE; > > + else > > + i3cbus->scl_rate.i2c = I3C_BUS_I2C_FM_PLUS_SCL_RATE; > > + } > > + > > + /* > > + * I3C/I2C frequency may have been overridden, check that user-provided > > + * values are not exceeding max possible frequency. > > + */ > > + if (i3cbus->scl_rate.i3c > I3C_BUS_MAX_I3C_SCL_RATE || > > + i3cbus->scl_rate.i2c > I3C_BUS_I2C_FM_PLUS_SCL_RATE) { > > + return -EINVAL; > > + } > > + > > + dev_set_name(&i3cbus->dev, "i3c-%d", i3cbus->id); > > + > > + return device_add(&i3cbus->dev); > > +} > During the tests of the bus with i2c devices I found the i2c_dev_desc > objects aren't allocated before this function. This cause i3cbus->mode = > I3C_BUS_MODE_PURE. I just checked and DT parsing (+ I2C descs creation) is done before i3c_bus_register() is called, so we should be good. How did you declare your I2C devices (right now, only DT declaration is supported). > > I want to do something for the slave and secondary master, do you > already have infrastructure that you can share? What do you mean? Regards, Boris
WARNING: multiple messages have this Message-ID (diff)
From: Boris Brezillon <boris.brezillon@bootlin.com> To: vitor <Vitor.Soares@synopsys.com>, <linux-gpio@vger.kernel.org>, Sekhar Nori <nsekhar@ti.com> Cc: Wolfram Sang <wsa@the-dreams.de>, <linux-i2c@vger.kernel.org>, Jonathan Corbet <corbet@lwn.net>, <linux-doc@vger.kernel.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, Przemyslaw Sroka <psroka@cadence.com>, Arkadiusz Golec <agolec@cadence.com>, Alan Douglas <adouglas@cadence.com>, Bartosz Folta <bfolta@cadence.com>, Damian Kos <dkos@cadence.com>, Alicja Jurasik-Urbaniak <alicja@cadence.com>, Cyprian Wronka <cwronka@cadence.com>, Suresh Punnoose <sureshp@cadence.com>, Rafal Ciepiela <rafalc@cadence.com>, Thomas Petazzoni <thomas.petazzoni@bootlin.com>, Nishanth Menon <nm@ti.com>, Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>, Mark Rutland <mark.rutland@arm.com>, Ian Campbell <ijc+devicetree@hellion.org.uk>, "Kumar Gala" <galak@codeaurora.org>, <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>, Geert Uytterhoeven <geert@linux-m68k.org>, Linus Walleij <linus.walleij@linaro.org>, Xiang Lin <Xiang.Lin@synaptics.com>, Przemyslaw Gaj <pgaj@cadence.com>, Peter Rosin <peda@axentia.se> Subject: Re: [PATCH v6 01/10] i3c: Add core I3C infrastructure Date: Fri, 24 Aug 2018 14:39:34 +0200 [thread overview] Message-ID: <20180824143934.6d6b6487@bbrezillon> (raw) In-Reply-To: <d2f40cc2-b344-69d1-4314-83524ad7b178@synopsys.com> Hi Vitor, On Wed, 22 Aug 2018 17:43:34 +0100 vitor <Vitor.Soares@synopsys.com> wrote: > Hi Boris, > > > On 19-07-2018 16:29, Boris Brezillon wrote: > > +int i3c_bus_register(struct i3c_bus *i3cbus) > > +{ > > + struct i2c_dev_desc *desc; > > + > > + i3c_bus_for_each_i2cdev(i3cbus, desc) { > > + switch (desc->boardinfo->lvr & I3C_LVR_I2C_INDEX_MASK) { > > + case I3C_LVR_I2C_INDEX(0): > > + if (i3cbus->mode < I3C_BUS_MODE_MIXED_FAST) > > + i3cbus->mode = I3C_BUS_MODE_MIXED_FAST; > > + break; > > + > > + case I3C_LVR_I2C_INDEX(1): > > + case I3C_LVR_I2C_INDEX(2): > > + if (i3cbus->mode < I3C_BUS_MODE_MIXED_SLOW) > > + i3cbus->mode = I3C_BUS_MODE_MIXED_SLOW; > > + break; > > + > > + default: > > + return -EINVAL; > > + } > > + } > > + > > + if (!i3cbus->scl_rate.i3c) > > + i3cbus->scl_rate.i3c = I3C_BUS_TYP_I3C_SCL_RATE; > > + > > + if (!i3cbus->scl_rate.i2c) { > > + if (i3cbus->mode == I3C_BUS_MODE_MIXED_SLOW) > > + i3cbus->scl_rate.i2c = I3C_BUS_I2C_FM_SCL_RATE; > > + else > > + i3cbus->scl_rate.i2c = I3C_BUS_I2C_FM_PLUS_SCL_RATE; > > + } > > + > > + /* > > + * I3C/I2C frequency may have been overridden, check that user-provided > > + * values are not exceeding max possible frequency. > > + */ > > + if (i3cbus->scl_rate.i3c > I3C_BUS_MAX_I3C_SCL_RATE || > > + i3cbus->scl_rate.i2c > I3C_BUS_I2C_FM_PLUS_SCL_RATE) { > > + return -EINVAL; > > + } > > + > > + dev_set_name(&i3cbus->dev, "i3c-%d", i3cbus->id); > > + > > + return device_add(&i3cbus->dev); > > +} > During the tests of the bus with i2c devices I found the i2c_dev_desc > objects aren't allocated before this function. This cause i3cbus->mode = > I3C_BUS_MODE_PURE. I just checked and DT parsing (+ I2C descs creation) is done before i3c_bus_register() is called, so we should be good. How did you declare your I2C devices (right now, only DT declaration is supported). > > I want to do something for the slave and secondary master, do you > already have infrastructure that you can share? What do you mean? Regards, Boris
next prev parent reply other threads:[~2018-08-24 12:39 UTC|newest] Thread overview: 177+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-07-19 15:29 [PATCH v6 00/10] Add the I3C subsystem Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` [PATCH v6 01/10] i3c: Add core I3C infrastructure Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-08-03 21:38 ` mshettel 2018-08-03 21:38 ` mshettel 2018-08-03 21:38 ` mshettel 2018-08-04 5:33 ` Boris Brezillon 2018-08-04 5:33 ` Boris Brezillon 2018-08-04 5:33 ` Boris Brezillon 2018-08-22 16:43 ` vitor 2018-08-22 16:43 ` vitor 2018-08-24 12:39 ` Boris Brezillon [this message] 2018-08-24 12:39 ` Boris Brezillon 2018-08-24 17:52 ` vitor 2018-08-24 17:52 ` vitor 2018-08-24 18:16 ` Boris Brezillon 2018-08-24 18:16 ` Boris Brezillon 2018-08-28 11:50 ` vitor 2018-08-28 11:50 ` vitor 2018-08-28 12:02 ` Boris Brezillon 2018-08-28 12:02 ` Boris Brezillon 2018-08-28 12:55 ` Przemyslaw Gaj 2018-08-28 12:55 ` Przemyslaw Gaj 2018-08-28 13:01 ` Boris Brezillon 2018-08-28 13:01 ` Boris Brezillon 2018-08-29 7:41 ` Przemyslaw Gaj 2018-08-29 7:41 ` Przemyslaw Gaj 2018-08-28 13:03 ` Boris Brezillon 2018-08-28 13:03 ` Boris Brezillon 2018-08-30 13:57 ` vitor 2018-08-30 13:57 ` vitor 2018-08-30 19:00 ` Przemyslaw Gaj 2018-08-30 19:00 ` Przemyslaw Gaj 2018-09-03 9:33 ` vitor 2018-09-03 9:33 ` vitor 2018-09-04 11:03 ` Przemyslaw Gaj 2018-09-04 11:03 ` Przemyslaw Gaj 2018-09-06 12:43 ` Przemyslaw Gaj 2018-09-06 12:43 ` Przemyslaw Gaj 2018-09-06 12:59 ` Arnd Bergmann 2018-09-06 12:59 ` Arnd Bergmann 2018-09-06 13:14 ` Boris Brezillon 2018-09-06 13:14 ` Boris Brezillon 2018-09-06 13:20 ` Boris Brezillon 2018-09-06 13:20 ` Boris Brezillon 2018-09-06 13:45 ` Arnd Bergmann 2018-09-06 13:45 ` Arnd Bergmann 2018-09-06 13:50 ` vitor 2018-09-06 13:50 ` vitor 2018-09-06 14:14 ` Boris Brezillon 2018-09-06 14:14 ` Boris Brezillon 2018-09-06 15:17 ` vitor 2018-09-06 15:17 ` vitor 2018-09-06 16:06 ` Boris Brezillon 2018-09-06 16:06 ` Boris Brezillon 2018-09-06 16:17 ` Przemyslaw Gaj 2018-09-06 16:17 ` Przemyslaw Gaj 2018-09-10 16:16 ` vitor 2018-09-10 16:16 ` vitor 2018-09-07 7:51 ` Przemyslaw Gaj 2018-09-07 7:51 ` Przemyslaw Gaj 2018-09-06 13:47 ` Przemyslaw Gaj 2018-09-06 13:47 ` Przemyslaw Gaj 2018-09-06 14:09 ` Boris Brezillon 2018-09-06 14:09 ` Boris Brezillon 2018-09-06 14:20 ` Przemyslaw Gaj 2018-09-06 14:20 ` Przemyslaw Gaj 2018-07-19 15:29 ` [PATCH v6 02/10] docs: driver-api: Add I3C documentation Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` [PATCH v6 03/10] i3c: Add sysfs ABI spec Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` [PATCH v6 04/10] dt-bindings: i3c: Document core bindings Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` [PATCH v6 05/10] dt-bindings: i3c: Add macros to help fill I3C/I2C device's reg property Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` [PATCH v6 06/10] MAINTAINERS: Add myself as the I3C subsystem maintainer Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` [PATCH v6 07/10] i3c: master: Add driver for Cadence IP Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` [PATCH v6 08/10] dt-bindings: i3c: Document Cadence I3C master bindings Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` [PATCH v6 09/10] gpio: Add a driver for Cadence I3C GPIO expander Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` [PATCH v6 10/10] dt-bindings: gpio: Add bindings for Cadence I3C gpio expander Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-19 15:29 ` Boris Brezillon 2018-07-20 8:52 ` [PATCH v6 00/10] Add the I3C subsystem Arnd Bergmann 2018-07-20 8:52 ` Arnd Bergmann 2018-07-20 8:52 ` Arnd Bergmann 2018-07-20 9:57 ` Peter Rosin 2018-07-20 9:57 ` Peter Rosin 2018-07-20 9:57 ` Peter Rosin 2018-07-20 10:05 ` Boris Brezillon 2018-07-20 10:05 ` Boris Brezillon 2018-07-20 10:05 ` Boris Brezillon 2018-07-20 10:39 ` Peter Rosin 2018-07-20 10:39 ` Peter Rosin 2018-07-20 10:39 ` Peter Rosin 2018-07-20 10:12 ` Wolfram Sang 2018-07-20 10:12 ` Wolfram Sang 2018-07-20 10:57 ` Arnd Bergmann 2018-07-20 10:57 ` Arnd Bergmann 2018-07-20 10:57 ` Arnd Bergmann 2018-07-20 11:05 ` Wolfram Sang 2018-07-20 11:05 ` Wolfram Sang 2018-07-20 11:13 ` Peter Rosin 2018-07-20 11:13 ` Peter Rosin 2018-07-20 11:13 ` Peter Rosin 2018-07-20 11:28 ` Arnd Bergmann 2018-07-20 11:28 ` Arnd Bergmann 2018-07-20 11:28 ` Arnd Bergmann 2018-07-20 13:16 ` Peter Rosin 2018-07-20 13:16 ` Peter Rosin 2018-07-20 13:16 ` Peter Rosin 2018-07-20 15:41 ` Wolfram Sang 2018-07-20 15:41 ` Wolfram Sang 2018-07-24 14:14 ` Arnd Bergmann 2018-07-24 14:14 ` Arnd Bergmann 2018-07-24 14:14 ` Arnd Bergmann 2018-07-24 15:57 ` Wolfram Sang 2018-07-24 15:57 ` Wolfram Sang 2018-07-24 16:04 ` Arnd Bergmann 2018-07-24 16:04 ` Arnd Bergmann 2018-07-24 16:04 ` Arnd Bergmann 2018-07-24 20:22 ` Wolfram Sang 2018-07-24 20:22 ` Wolfram Sang 2018-07-24 16:07 ` Boris Brezillon 2018-07-24 16:07 ` Boris Brezillon 2018-07-24 16:07 ` Boris Brezillon 2018-07-20 13:17 ` Boris Brezillon 2018-07-20 13:17 ` Boris Brezillon 2018-07-20 13:17 ` Boris Brezillon 2018-07-24 14:03 ` Arnd Bergmann 2018-07-24 14:03 ` Arnd Bergmann 2018-07-24 14:03 ` Arnd Bergmann 2018-07-24 14:28 ` Boris Brezillon 2018-07-24 14:28 ` Boris Brezillon 2018-07-24 14:28 ` Boris Brezillon 2018-07-24 15:05 ` Arnd Bergmann 2018-07-24 15:05 ` Arnd Bergmann 2018-07-24 15:05 ` Arnd Bergmann 2018-07-24 15:15 ` Geert Uytterhoeven 2018-07-24 15:15 ` Geert Uytterhoeven 2018-07-24 15:15 ` Geert Uytterhoeven 2018-07-24 15:40 ` Arnd Bergmann 2018-07-24 15:40 ` Arnd Bergmann 2018-07-24 15:40 ` Arnd Bergmann 2018-07-24 15:46 ` Geert Uytterhoeven 2018-07-24 15:46 ` Geert Uytterhoeven 2018-07-24 15:46 ` Geert Uytterhoeven 2018-07-24 15:58 ` Arnd Bergmann 2018-07-24 15:58 ` Arnd Bergmann 2018-07-24 15:58 ` Arnd Bergmann 2018-07-24 16:14 ` Boris Brezillon 2018-07-24 16:14 ` Boris Brezillon 2018-07-24 16:14 ` Boris Brezillon 2018-07-24 16:25 ` Arnd Bergmann 2018-07-24 16:25 ` Arnd Bergmann 2018-07-24 16:25 ` Arnd Bergmann 2018-07-24 16:54 ` Boris Brezillon 2018-07-24 16:54 ` Boris Brezillon 2018-07-24 16:54 ` Boris Brezillon 2018-07-24 20:21 ` Arnd Bergmann 2018-07-24 20:21 ` Arnd Bergmann 2018-07-24 20:21 ` Arnd Bergmann 2018-07-24 16:04 ` Wolfram Sang 2018-07-24 16:04 ` Wolfram Sang
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180824143934.6d6b6487@bbrezillon \ --to=boris.brezillon@bootlin.com \ --cc=Vitor.Soares@synopsys.com \ --cc=adouglas@cadence.com \ --cc=agolec@cadence.com \ --cc=alicja@cadence.com \ --cc=arnd@arndb.de \ --cc=bfolta@cadence.com \ --cc=corbet@lwn.net \ --cc=cwronka@cadence.com \ --cc=dkos@cadence.com \ --cc=gregkh@linuxfoundation.org \ --cc=ijc+devicetree@hel \ --cc=linux-doc@vger.kernel.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-i2c@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=nm@ti.com \ --cc=nsekhar@ti.com \ --cc=pawel.moll@arm.com \ --cc=psroka@cadence.com \ --cc=rafalc@cadence.com \ --cc=robh+dt@kernel.org \ --cc=sureshp@cadence.com \ --cc=thomas.petazzoni@bootlin.com \ --cc=wsa@the-dreams.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.