お客様によっては、DDRテストを実行する間、PMICに異なるI2Cバスを設定する必要があります。これを実現できる簡単な手段にNXP DDR Config Toolがあります。
ツールのダウンロード・リンクは下記のとおりです。
ここでは例として、i.MX 93 EVKボードを使用します。i.MX 93 EVKボードでは、デフォルトのPMIC I2CバスはI2C2です。このI2C2をI2C1に変更する方法を説明します。他のI2Cバスは変更しません。
ステップ 1:ボードを再加工し、PMIC が I2C1 に接続されていることを確認してください。
R714 R715を取り外し、I2C1_SCL(C20)をU701のピン41に接続し、I2C1_SDA(C21)をU701のピン42に接続してください。
Step 2 : Setup I2C1 PinMux:
Config ToolのUI:「Advance(詳細)」->「IOMUX config(IOMUX設定)」
コマンド: アドレス サイズ 値
memory set 0x443c0170 32 0x10
memory set 0x443c0174 32 0x10
memory set 0x443c0320 32 0x40000b9e
memory set 0x443c0324 32 0x40000b9e
ステップ3:PMIC VDDQを1.1 Vに設定してください
設定ツールUI:詳細 -> カスタムPMIC初期化が有効
# PMICコマンド 値
0 pmic_cfg 0x0025 /*I2C bus 1, PMIC address 0x25 */ (0 for I2C1, 1 for I2C2, 2 for I2C3, 3 for I2c4 …)
1 pmic_set 0x0C29 /* BUCKxOUT_DVS0/1, preset_buck1=0.8V, preset_buck2=0.7V, preset_buck3=0.8V PCA9451_BUCK123_DVS, 0x29 */
2 pmic_set 0x1118 /* BUCK1OUT_DVS0=0.9V PCA9451_BUCK1OUT_DVS0, 0x18 */
3 pmic_set 0x1718 /* BUCK3OUT_DVS0=0.9V PCA9451_BUCK3OUT_DVS0, 0x18 */
4 pmic_set 0x1428 /* VDDQを1.1Vに設定 PCA9451_BUCK2OUT_DVS0、0x28 */
追記:pmicレジスタに関して、先頭2バイトはレジスタ・アドレス、次の2バイトはレジスタ設定です。
ステップ 4:DDR「ファームウェア初期化テスト」を実行し、テスト結果を確認してください。
成功ログは次のとおりです。
DEBUG memtool.comm.serial_channel ==================hardware_init=======================
デバッグ memtool.comm.serial_channel
DEBUG memtool.comm.serial_channel Power up ddr...
デバッグ memtool.comm.serial_channel
DEBUG memtool.comm.serial_channel DDRMIX power on done...
デバッグ memtool.comm.serial_channel
DEBUG memtool.comm.serial_channel DDRPHY coldreset...
デバッグ memtool.comm.serial_channel
デバッグ memtool.comm.serial_channel
デバッグ memtool.comm.serial_channel
DEBUG memtool.comm.serial_channel ********Found PMIC PCA945X**********
デバッグ memtool.comm.serial_channel
DEBUG memtool.comm.serial_channel Set VDDQ to 1.1V for LPDDR4
デバッグ memtool.comm.serial_channel
DEBUG memtool.comm.serial_channel ==================hardware_init exit==================