[meta-xilinx] [PATCH] microzed-zynq7.dts: Enabled i2c controller
Nathan Rossi
nathan at nathanrossi.com
Thu Aug 11 04:36:45 PDT 2016
On Tue, Aug 9, 2016 at 7:26 AM, Thomas Koeller
<thomas at koeller.dyndns.org> wrote:
> On Mon, 2016-08-08 at 00:32 +1000, Nathan Rossi wrote:
>> Microzed is an interesting target because none of the IOs on the
>> JX1/JX2 connectors are specifically tied as I2C (and there are no i2c
>> devices on the board). This means that the default pinmux for the
>> board does not setup the I2C controllers to be exposed on any MIOs or
>> EMIOs. If you need the i2c controllers you will also need to
Sorry I should have been more clear here, by exposed on any EMIOs I
meant routed via EMIO to a external pin.
>> configure
>> the pinmux either in the dts or in the ps7_init, which is not done in
>> the current microzed setup (for either the dts or the ps7_init) in
>> meta-xilinx.
>
> This is in fact what I am currently pursuing. I decided to go for the
> dts solution, so I looked at drivers/pinctrl/pinctrl-zynq.c in order to
> figure out how to route the i2c pins to the PL via EMIO. What I found
> was that the driver apparently does not support this for devices other
> than sd/sdio controller units, so I guess I would have to extend it to
> make this work, am I right?
>
Whilst some peripherals require some amount of mux configuration to
route EMIO, most EMIOs are directly exposed to the PL and are
connected to EMIO when not muxed to any MIO and when PL is powered.
For reference this is described in the Zynq TRM section 2.5.6.
For your case, with the I2C signals not being muxed to any MIO they
are connected to EMIO when the PL is powered. Which means the dts in
your patch should be sufficient to have functional i2c controllers
exposed to the PL.
Regards,
Nathan
More information about the meta-xilinx
mailing list