RGB Screen

  • Configure PAD to TTL mode
# vi infinity2m-ssc011a-s01a-padmux-display.dtsi
/*
* infinity2m-ssc011a-s01a-padmux-display.dtsi- Sigmastar
*
* Copyright (c) [2019~2020] SigmaStar Technology.
*
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License version 2 for more details.
*
*/

#include <../../../../drivers/sstar/include/infinity2m/padmux.h>
#include <../../../../drivers/sstar/include/mdrv_puse.h>

/ {
    soc {
         padmux {
            compatible = "sstar-padmux";
            schematic =
                //<PAD_GPIO0  >,
                <PAD_GPIO1          PINMUX_FOR_GPIO_MODE        MDRV_PUSE_I2C1_DEV_RESET >,
                <PAD_GPIO2          PINMUX_FOR_I2C1_MODE_1      MDRV_PUSE_I2C1_SCL >,
                <PAD_GPIO3          PINMUX_FOR_I2C1_MODE_1      MDRV_PUSE_I2C1_SDA >,
                <PAD_GPIO4             PINMUX_FOR_PWM0_MODE_3         MDRV_PUSE_PWM0 >,
                <PAD_GPIO5             PINMUX_FOR_PWM1_MODE_4         MDRV_PUSE_PWM1 >,
                <PAD_GPIO6          PINMUX_FOR_EJ_MODE_3        MDRV_PUSE_EJ_TDO >,
                <PAD_GPIO7          PINMUX_FOR_EJ_MODE_3        MDRV_PUSE_EJ_TDI >,
                //<PAD_GPIO8  >,
                //<PAD_GPIO9  >,
                //<PAD_GPIO10  >,
                <PAD_GPIO11         PINMUX_FOR_GPIO_MODE        MDRV_PUSE_I2CSW_SCL>,
                <PAD_GPIO12         PINMUX_FOR_GPIO_MODE        MDRV_PUSE_I2CSW_SDA>,
                <PAD_GPIO13         PINMUX_FOR_GPIO_MODE        MDRV_PUSE_I2C1_DEV_IRQ >,
                //<PAD_GPIO14  >,
                //<PAD_FUART_RX  >,
                //<PAD_FUART_TX       PINMUX_FOR_GPIO_MODE        MDRV_PUSE_UTMI_POWER>,
                <PAD_FUART_CTS       PINMUX_FOR_GPIO_MODE       MDRV_PUSE_CPUFREQ_VID0>,
                <PAD_FUART_RTS       PINMUX_FOR_GPIO_MODE       MDRV_PUSE_CPUFREQ_VID1>,
                <PAD_TTL0            PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT00 >,
                <PAD_TTL1            PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT01 >,
                <PAD_TTL2            PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT02 >,
                <PAD_TTL3            PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT03 >,
                <PAD_TTL4            PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT04 >,
                <PAD_TTL5            PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT05 >,
                <PAD_TTL6            PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT06 >,
                <PAD_TTL7            PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT07 >,
                <PAD_TTL8            PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT08 >,
                <PAD_TTL9            PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT09 >,
                <PAD_TTL10           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT10 >,
                <PAD_TTL11           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT11 >,
                <PAD_TTL12           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT12 >,
                <PAD_TTL13           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT13 >,
                <PAD_TTL14           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT14 >,
                <PAD_TTL15           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT15 >,
                <PAD_TTL16           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT16 >,
                <PAD_TTL17           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT17 >,
                <PAD_TTL18           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT18 >,
                <PAD_TTL19           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT19 >,
                <PAD_TTL20           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT20 >,
                <PAD_TTL21           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT21 >,
                <PAD_TTL22           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT22 >,
                <PAD_TTL23           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DOUT23 >,
                <PAD_TTL24           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_CLK >,
                <PAD_TTL25           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_HSYNC >,
                <PAD_TTL26           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_VSYNC >,
                <PAD_TTL27           PINMUX_FOR_TTL_MODE_1      MDRV_PUSE_TTL_DE >,
                <PAD_UART0_RX         PINMUX_FOR_UART0_MODE_1       MDRV_PUSE_UART0_RX >,
                <PAD_UART0_TX         PINMUX_FOR_UART0_MODE_1       MDRV_PUSE_UART0_TX >,
                //<PAD_UART1_RX  >,
                //<PAD_UART1_TX  >,
                //<PAD_SD_CLK             PINMUX_FOR_I2S_MODE_3       MDRV_PUSE_I2S_BCK >,
                <PAD_GPIO0             PINMUX_FOR_GPIO_MODE      MDRV_PUSE_SDIO0_PWR >,
                <PAD_SD_CLK            PINMUX_FOR_SDIO_MODE_1       MDRV_PUSE_SDIO0_CLK >,
                //<PAD_SD_CMD             PINMUX_FOR_I2S_MODE_3       MDRV_PUSE_I2S_SDI >,
                <PAD_SD_CMD            PINMUX_FOR_SDIO_MODE_1       MDRV_PUSE_SDIO0_CMD >,
                //<PAD_SD_D0              PINMUX_FOR_I2S_MODE_3       MDRV_PUSE_I2S_WCK >,
                <PAD_SD_D0            PINMUX_FOR_SDIO_MODE_1       MDRV_PUSE_SDIO0_D0 >,
                <PAD_SD_D1              PINMUX_FOR_SDIO_MODE_1      MDRV_PUSE_SDIO0_D1>,
                <PAD_SD_D2              PINMUX_FOR_SDIO_MODE_1      MDRV_PUSE_SDIO0_D2>,
                //<PAD_SD_D3              PINMUX_FOR_I2S_MODE_3       MDRV_PUSE_I2S_SDO >,
                <PAD_SD_D3            PINMUX_FOR_SDIO_MODE_1      MDRV_PUSE_SDIO0_D3>,
                <PAD_PM_SD_CDZ          PINMUX_FOR_GPIO_MODE      MDRV_PUSE_SDIO0_CDZ>,
                <PAD_PM_IRIN            PINMUX_FOR_PM_IRIN_MODE     MDRV_PUSE_IR>,  // IR: default non-GPIO
                //<PAD_PM_SPI_CZ  >,                // default not-GPIO
                //<PAD_PM_SPI_CK  >,                // default not-GPIO
                //<PAD_PM_SPI_DI  >,                // default not-GPIO
                //<PAD_PM_SPI_DO  >,                // default not-GPIO
                //<PAD_PM_SPI_WPZ  >,               // default not-GPIO
                //<PAD_PM_SPI_HLD  >,               // default not-GPIO
                //<PAD_PM_LED0  >,
                //<PAD_PM_LED1  >,
                <PAD_SAR_GPIO0          PINMUX_FOR_SAR_MODE     MDRV_PUSE_SAR_GPIO0 >, // sar: default not-GPIO,
                //<PAD_SAR_GPIO1  >,                // sar: default not-GPIO
                //<PAD_SAR_GPIO2  >,                // sar: default not-GPIO
                //<PAD_ETH_RN  >,                   // ETH: default not-GPIO
                //<PAD_ETH_RP  >,                   // ETH: default not-GPIO
                //<PAD_ETH_TN  >,                   // ETH: default not-GPIO
                //<PAD_ETH_TP  >,                   // ETH: default not-GPIO
                <PAD_DM_P1              PINMUX_FOR_USB_MODE     MDRV_PUSE_UTMI1_DM >,  // utmi: default not-GPIO
                <PAD_DP_P1              PINMUX_FOR_USB_MODE     MDRV_PUSE_UTMI1_DP >,  // utmi: default not-GPIO
                <PAD_DM_P2              PINMUX_FOR_USB_MODE     MDRV_PUSE_UTMI2_DM >,  // utmi: default not-GPIO
                <PAD_DP_P2              PINMUX_FOR_USB_MODE     MDRV_PUSE_UTMI2_DP >,  // utmi: default not-GPIO
                //<PAD_HSYNC_OUT  >,
                //<PAD_VSYNC_OUT  >,
                <PAD_HDMITX_SCL PINMUX_FOR_DMIC_MODE_2 MDRV_PUSE_DMIC_D1 >,
                <PAD_HDMITX_SDA PINMUX_FOR_DMIC_MODE_2 MDRV_PUSE_DMIC_D0 >,
                <PAD_HDMITX_HPD PINMUX_FOR_DMIC_MODE_2 MDRV_PUSE_DMIC_CLK >,
                <PAD_HSYNC_OUT          PINMUX_FOR_IDAC_MODE        MDRV_PUSE_IDAC_HSYNC>,
                <PAD_VSYNC_OUT          PINMUX_FOR_IDAC_MODE        MDRV_PUSE_IDAC_VSYNC>;
                //<PAD_SATA_GPIO  >;
            status = "ok"; // ok or disable
            //status = "disable";
        };

    };

};
  • Obtain the schedule from the data book on the screen

  • Modify screen parameters

Link from Baidu cloud —– Download JpegPlayer.rar And unzip, find SAT070CP50_1024x600.h, and modify the corresponding data according to the actual parameters of the screen
For the screen parameters of the 7-inch development board with its own screen, please refer to the screen parameters file in the network disk: development board —-> lcd folder for verification

# vi SAT070CP50_1024x600.h

Focus on the values of the following variables:
m_ucPanelHSyncWidth = HSYNC.(FrontPorch) + HSYNC.(PulseWidth)
m_ucPanelHSyncBackPorch = HSYNC.(BackPorch)
m_ucPanelVSyncWidth = VSYNC.(FrontPorch) + VSYNC.(PulseWidth)
m_ucPanelVBackPorch = VSYNC.(BackPorch)
m_wPanelHStart = m_ucPanelHSyncWidth + m_ucPanelHSyncBackPorch
m_wPanelVStart = m_ucPanelVSyncWidth + m_ucPanelVBackPorch
m_wPanelWidth = HSYNC.(DisplayPeriod)
m_wPanelHeight = VSYNC.(DisplayPeriod)

m_wPanelMaxHTotal
=m_wPanelHTotal
=m_wPanelMinHTotal
=m_wPanelHStart + m_wPanelWidth

m_dwPanelMaxDCLK
=m_dwPanelDCLK
=m_dwPanelMinDCLK
=m_wPanelHTotalm_wPanelVTotalFPS(user-defined)

(DCLKFrequency).min <= m_dwPanelMaxDCLK <= (DCLKFrequency).max

  • Modify the value of swap
3,  //MS_U8 m_bPanelSwapOdd_RG    :1;          ///<  define PANEL_SWAP_ODD_RG
2,  //MS_U8 m_bPanelSwapEven_RG   :1;          ///<  define PANEL_SWAP_EVEN_RG
1,  //MS_U8 m_bPanelSwapOdd_GB    :1;          ///<  define PANEL_SWAP_ODD_GB
1,  //MS_U8 m_bPanelSwapEven_GB   :1;          ///<  define PANEL_SWAP_EVEN_GB

By default, the corresponding relationship between each TTL pin and RGB is as follows:

If the actual connection is not the default connection, you need to modify the swap value. We need to pay attention to the following four values:

M_bPanelSwapOdd_RG, if value is 0 or 3, corresponds to R; if value is 1, corresponding to B; if value is 2, it corresponds to G;

m_bPanelSwapEven_RG, if value is 0 or 2, corresponds to R; if value is 1, corresponding to B; if value is 3, it corresponds to G;

m_bPanelSwapOdd_GB,if value is 0 or 1, corresponds to B; if value is 3, corresponding to R; if value is 2, it corresponds to G;

m_bPanelSwapEven_GB, if value is 0, the RGB high and low bits are not reversed; if value is 1, the RGB high and low bits are reversed;

In the case that the high and low positions are not reversed, the corresponding relationship of pins is as follows:

After the high and low bit are reversed, the pin correspondence becomes:

文档更新时间: 2021-03-23 11:38   作者:Aeeditor