Hello,
according to reference manual of IMX6 Quad processor if I want to use I2C external signals I have to set appropriate pad modes (table 35-1 page 1888). How can I achieve that? Is editing the device-tree by setting i2c devices to status = "okay" enough?
Any help appreciated.
Solved! Go to Solution.
Hi pedropl
one can look at
Linux/arch/arm/boot/dts/imx6qdl-sabresd.dtsi - Linux Cross Reference - Free Electrons
Linux/arch/arm/boot/dts/imx6q-pinfunc.h - Linux Cross Reference - Free Electrons
and linux /Documentation/devicetree/bindings
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
As far as I get it:
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
>;
};
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
>;
};
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
>;
};
Those are enough to configure pads to be set for I2C adapters (set the multiplexers)? How do I know the value after pad name - as on the example "0x4001b8b1"? Is this value somehow connected to values from header file:
#define MX6QDL_PAD_GPIO_6__I2C3_SDA 0x230 0x600 0x8ac 0x2 0x1 ?
Thanks for your help,
Pedro
This article is very helpful, seems to answer my questions. With this knowledge one can start manipulating with pads :smileyhappy:
Thank you for your help.