Hi Igor,
Although the PLL was locked with the desired frequency, I still haven't managed to change the Serial bit clock from 1.4112 MHz to 1.536 MHz
Please refer to Table 61-7 in i.MX6 reference manual and the code below (added to mx6_xxx_som_board_init) and advise if there are additional registers that should be updated.
*(volatile unsigned int*) PLL4_AUDIO_BASE_ADDR = 0x10201C; // DIV_SELECT=28, POST_DIV_DELECT=1, ENABLE=1, BYPASS=POWERDOWN=0
// (PLL4_AUDIO_BASE_ADDR is actually CCM_ANALOG_PLL_AUDIO)
*(volatile unsigned int*) CCM_ANALOG_PLL_AUDIO_NUM = 84; // NUM/DENOM = 84/125 = 0.672
*(volatile unsigned int*) CCM_ANALOG_PLL_AUDIO_DENOM = 125; // PLL_OUT = 24 MHz * 28.672 = 688.128 MHz
*(volatile unsigned int*) MXC_CCM_CS1CDR = 0xEC10387; // SSI1_CLK_pred = 7, SSI1_CLK_podf = 8 (SSIDIV = 56)
*(volatile unsigned int*) MXC_CCM_CS2CDR = 0x073125B; // SSI2_CLK_pred = 2, SSI2_CLK_podf = 28 (SSIDIV = 56)
*(volatile unsigned int*) MXC_CCM_CSCMR1 = 0xF0A802; // SSI1_CLK_sel, SSI2_CLK_sel, SSI3_CLK_sel => derived from PLL4
*(volatile unsigned int*) SSI1_STCCR = 0xE103; // DIV2=PSR=0, WL=7 (=> 16 Bits/Word), DC=1, PM=3
*(volatile unsigned int*) SSI1_SRCCR = 0xE103; // DIV2=PSR=0, WL=7 (=> 16 Bits/Word), DC=1, PM=3
*(volatile unsigned int*) SSI2_STCCR = 0xE103; // DIV2=PSR=0, WL=7 (=> 16 Bits/Word), DC=1, PM=3
*(volatile unsigned int*) SSI2_SRCCR = 0xE103; // DIV2=PSR=0, WL=7 (=> 16 Bits/Word), DC=1, PM=3
Best regards
Yehuda