Interface setup in U-Boot for i.Mx6Solo

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Interface setup in U-Boot for i.Mx6Solo

Jump to solution
1,045 Views
abhishek25jun
Contributor I

Hello,

We are porting U-Boot from mx6qsabreauto board to custom board which is based on i.Mx6Solo.

We are referring to i.MX BSP Porting Guide (Rev. 1, 01/2017).

Is their any document which we can refer to port interfaces in u-boot based on schematics.

For eg.

To port UART

Filename: board/freescale/mx6sabreauto/mx6sabreauto.c

static iomux_v3_cfg_t const uart4_pads[] = {
         MX6_PAD_KEY_COL0__UART4_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),
         MX6_PAD_KEY_ROW0__UART4_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),
 };

We modified above array to

static iomux_v3_cfg_t const uart1_pads[] = {
         MX6_PAD_SD3_DAT6__UART1_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),
         MX6_PAD_SD3_DAT7__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),
};

as we are using UART1 and we have connected UART1_RX and UART1_TX to SD3_DAT6 and SD3_DAT7 respectively in schematics.

Kindly confirm if these modifications are correct and we can modify code for all interfaces in the similar fashion.

Moreover, how to deduce value for UART_PAD_CTRL for custom board.

#define UART_PAD_CTRL  (PAD_CTL_PUS_100K_UP |                   \
         PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm |                 \
         PAD_CTL_SRE_FAST  | PAD_CTL_HYS)

Thanks,

Abhishek

Labels (2)
Tags (2)
0 Kudos
1 Solution
790 Views
igorpadykov
NXP Employee
NXP Employee

Hi Abhishek

these modifications look as correct, for UART_PAD_CTRL

one can look at sect.37.4.448 Pad Control Register
(IOMUXC_SW_PAD_CTL_PAD_SD3_DATA5) i.MX6SDL Reference Manual 

http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6SDLRM.pdf 

and change them if necessary.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
3 Replies
790 Views
abhishek25jun
Contributor I

Hi Igor,

Thanks for your reply.

What are the steps to initialize i2c bus in board file.

As mentioned earlier, we are referring to imx6qsabreauto.

i2c2 and i2c3 are initialized for this board but initialization methods used for both i2c buses are different and also i2c3 is using an array similar to UART whereas i2c2 is using a struct to define scl and sda lines.

Kindly guide.

Thanks,

Abhishek

0 Kudos
790 Views
igorpadykov
NXP Employee
NXP Employee

Hi Abhishek

could you create new thread for that new question.

Please provide more details about found differencies.

Best regards
igor

0 Kudos
791 Views
igorpadykov
NXP Employee
NXP Employee

Hi Abhishek

these modifications look as correct, for UART_PAD_CTRL

one can look at sect.37.4.448 Pad Control Register
(IOMUXC_SW_PAD_CTL_PAD_SD3_DATA5) i.MX6SDL Reference Manual 

http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6SDLRM.pdf 

and change them if necessary.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos