我的是V100R001C02SPC060版本的SDK,參照https://blog.csdn.net/weixin_36704535/article/details/78581291 這篇文章把LOGO檔案燒寫到spi nor Flash 。
把這條陳述句改:
run_command("startvo 0 32 12",1); ==》run_command("startvo 0 52 12",1); HDMI VGA BT.1120同時輸出輸出開畫面。
設定后開機BT.1120沒有畫面,原因兩個:1.埠復用沒有配置為BT.1120輸出,2.sii9022沒有驅動
參照SDK中(Hi3536_SDK_V2.0.6.0\package\mpp_single\mpp_single\ko ) pinmux,sh 里面的埠復用
#I2S&BT1120(16BIT的BT1120視頻+I2S2的音頻)
himm 0x120F0190 0x3; # 00:GPIO12_0 01:VOU1120_DATA0 10:I2S0_SD_RX 11:I2S2_MCLK
himm 0x120F0194 0x3; # 00:GPIO12_1 01:VOU1120_DATA1 10:I2S0_SD_TX 11:I2S2_BCLK_TX
himm 0x120F0198 0x1; # 00:TEST_CLK_OUT 01:VOU1120_DATA2 10:SFC_NAND_BOOT_PIN0(硬體復用) 11:GPIO12_2
himm 0x120F019c 0x1; # 00:GPIO12_3 01:VOU1120_DATA3 10:SFC_NAND_BOOT_PIN2(硬體復用)
himm 0x120F01a0 0x1; # 00:GPIO12_4 01:VOU1120_DATA4 10:I2S0_WS_TX
himm 0x120F01a4 0x1; # 00:GPIO12_5 01:VOU1120_DATA5 10:I2S0_WS_RX
himm 0x120F01a8 0x1; # 00:GPIO12_6 01:VOU1120_DATA6 10:I2S0_BCLK_RX
himm 0x120F01ac 0x1; # 00:GPIO12_7 01:VOU1120_DATA7 10:I2S0_BCLK_TX
himm 0x120F01b0 0x1; # 00:GPIO13_0 01:VOU1120_DATA8 10:I2S0_MCLK 11:SFC_NAND_BOOT_PIN1
himm 0x120F01b4 0x1; # 00:PWM_SVB1 01:VOU1120_DATA9 10:GPIO13_1
himm 0x120F01b8 0x3; # 00:GPIO13_2 01:VOU1120_DATA10 11:I2S2_WS_TX
himm 0x120F01bc 0x3; # 00:GPIO13_3 01:VOU1120_DATA11 10:PCIE_REFCLK_SEL(硬體復用) 11:I2S2_SD_TX
himm 0x120F01c0 0x1; # 00:GPIO13_4 01:VOU1120_DATA12 10:SDIO0_CWPR 11:UART0_TXD
himm 0x120F01c4 0x1; # 00:GPIO13_5 01:VOU1120_DATA13 10:SDIO0_CDATA0 11:UART0_RXD
himm 0x120F01c8 0x1; # 00:GPIO13_6 01:VOU1120_DATA14 10:SDIO0_CCLK_OUT
himm 0x120F01cc 0x1; # 00:GPIO13_7 01:VOU1120_DATA15 10:SDIO0_CCMD
himm 0x120F01d0 0x1; # 000:GPIO11_0 001:VOU1120_DATA16 010:SDIO0_CDATA3 011:
himm 0x120F01d4 0x1; # 000:GPIO11_1 001:VOU1120_DATA17 010:SDIO0_CDATA2 011:
himm 0x120F01d8 0x1; # 000:GPIO11_2 001:VOU1120_DATA18 010:SDIO0_CARD_DETECT 011:
himm 0x120F01dc 0x1; # 000:GPIO11_3 001:VOU1120_DATA19 010:SDIO0_CARD_POWER_EN 011:
himm 0x120F01e0 0x1; # 00:GPIO14_6 01:VOU1120_CLK 10:SDIO0_CDATA1
改成
run_command("mw.b 0x120f0190 0x03 ",1);
.....
.....
.........
........
run_command("mw.b 0x120f01e0 0x01 ",1);
寫入(arch/arm/lib/board.c 檔案)的void LogintImage(void)函式尾部 重新編譯uboot 第一完成。
我試過把代碼直接寫入vou.c檔案里面,不能正常輸出,具體不知道為什么。
第二步:sii9024驅動問題,我試過各種方法使用Hi3536的I2C來初始化SII9024但是都沒成功,最后還是乖乖的外掛了一個8位的MCU再開始的時候單獨寫初始化的引數。下面一組初始化代碼我試驗過可用。
Delayms(300);
//HW Reset
ISendStr(WriteDeviceAddress,0x82,0x25);
ISendStr(WriteDeviceAddress,0x08,0x36);
ISendStr(WriteDeviceAddress,0x7c,0x14);
ISendStr(WriteDeviceAddress,0xc7,0x00);
Delayms(100);
//9022 PLL Set:
ISendStr(WriteDeviceAddress,0xBC,0x01);
ISendStr(WriteDeviceAddress,0xBD,0x82);
ISendStr(WriteDeviceAddress,0xBE,0x35);
//9022A PLL Set
ISendStr(WriteDeviceAddress,0x08,0x70);
ISendStr(WriteDeviceAddress,0x00,0x8C);
ISendStr(WriteDeviceAddress,0x01,0x0A);
ISendStr(WriteDeviceAddress,0x02,0x70);
ISendStr(WriteDeviceAddress,0x03,0x17);
ISendStr(WriteDeviceAddress,0x04,0x5A);
ISendStr(WriteDeviceAddress,0x05,0x03);
ISendStr(WriteDeviceAddress,0x06,0x0D);
ISendStr(WriteDeviceAddress,0x07,0x02);
ISendStr(WriteDeviceAddress,0x63,0x00);
//Color Space
ISendStr(WriteDeviceAddress,0x08,0x70);
ISendStr(WriteDeviceAddress,0x09,0x00);
ISendStr(WriteDeviceAddress,0x0A,0x00);
ISendStr(WriteDeviceAddress,0x60,0x04);
ISendStr(WriteDeviceAddress,0xBC,0x01);
ISendStr(WriteDeviceAddress,0xBD,0x82);
ISendStr(WriteDeviceAddress,0xBE,0x35);
//Power Up
ISendStr(WriteDeviceAddress,0x1E,0x00);
我是海思芯片的初學者,有不對的地方請指正!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/69246.html
標籤:其它技術問題
上一篇:求助大神,大一學C++感覺太難了
下一篇:Go語言入門教程(十一)
