Hello Jamesbone,
Thank you for your response.
I trace a function imx_get_soc_revision() and imx_set_soc_revision().
It will return a global variable imx_soc_revision.
It calculate in imx_init_revision_from_anatop() on arch/arm/mach-imx/anatop.c from register USB_ANALOG_DIGPROG(0x020c_8000 + 0x260).
From USB_ANALOG_DIGPROG value in Reference manual and
define of IMX_CHIP_REVISION_x_xx in include/soc/imx/revision.h
It will mached as following.
iMX6Q Silicon revision 1.2 => IMX_CHIP_REVISION_1_2 0x12
iMX6Q Silicon revision 1.3 => IMX_CHIP_REVISION_1_5 0x15
iMX6Q Silicon revision 1.6 => not defined.
iMX6QP Silicon revision 1.0 => IMX_CHIP_REVISION_2_0 0x20
iMX6QP Silicon revision 1.1 => IMX_CHIP_REVISION_2_1 0x21
As a result following condition is not true every time.
if (clk_on_imx6q() && imx_get_soc_revision() >= IMX_CHIP_REVISION_2_0) {
}
Is it really OK to use this condition?
Best regards,
Ishii.