Hi,
I would like to add some SPI, I2C, Serial devices to IMX6 DL reference designs. When referring to DTB (Device Tree Blobs) generation from DTS file and referring to DTS file for example ecspi1 is lke as below:
pinctrl_ecspi1: ecspi1grp {
fsl,pins = <
MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1
MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1
MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1
MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x0b0b0 /* CS */
>;
};
What does this 0x100b1 specifies. How to arrive at that value. Why CS (Chip Select is given 0x0b0b0). How to calculate that value/arrive at some value. And also in some places it is like this:
pinctrl_usdhc1: usdhc1grp {
fsl,pins = <
MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059
MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059
MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059
MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059
MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059
MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059
>;
};
in above snippet how 0x17059 came??? im no understatd...;;;
Check Documentation/devicetree/bindings/pinctrl/fsl,imx6q-pinctrl.txt - it explains exactly the PAD setting. Bits are also explained into the user manual - the value is the "pad setting" (PullUp, PullDown, etc.)