AnsweredAssumed Answered

Unable to allocate framebuffer memory in U-boot

Question asked by leavs lee on Jun 22, 2016
Latest reply on Jun 22, 2016 by leavs lee

who can help me, i want to display logo when power on my board, i do the follow steps:

 

1.vi board/freescale/mx6sabresd/mx6sabresd.c

i modify the follow struct to add my lvds lcd timming

struct display_info_t const displays[] = {{

          .bus = -1

          ........

           .pixfmt = IPU_PIX_FMT_RGB666,

          ........

               .name = "CHIMEI-WXGA"

}},.........

2. enable lvds0, my lvds lcd connect to lvds0.

.................................

reg = IOMUXC_GPR2_BGREF_RRMODE_EXTERNAL_RES

      | IOMUXC_GPR2_DI1_VS_POLARITY_ACTIVE_LOW

      | IOMUXC_GPR2_DI0_VS_POLARITY_ACTIVE_LOW

      | IOMUXC_GPR2_BIT_MAPPING_CH1_SPWG

      | IOMUXC_GPR2_DATA_WIDTH_CH1_18BIT

      //| IOMUXC_GPR2_DATA_WIDTH_CH1_24BIT

      | IOMUXC_GPR2_BIT_MAPPING_CH0_SPWG

      | IOMUXC_GPR2_DATA_WIDTH_CH0_18BIT

      //| IOMUXC_GPR2_DATA_WIDTH_CH0_24BIT

      //| IOMUXC_GPR2_LVDS_CH0_MODE_DISABLED

      | IOMUXC_GPR2_LVDS_CH0_MODE_ENABLED_DI0

      //| IOMUXC_GPR2_LVDS_CH1_MODE_ENABLED_DI0;

      | IOMUXC_GPR2_LVDS_CH1_MODE_ENABLED_DI0;

  writel(reg, &iomux->gpr[2]);

  reg = readl(&iomux->gpr[3]);

  //reg = (reg & ~(IOMUXC_GPR3_LVDS1_MUX_CTL_MASK

  reg = (reg & ~(IOMUXC_GPR3_LVDS0_MUX_CTL_MASK

  | IOMUXC_GPR3_LVDS1_MUX_CTL_MASK

  | IOMUXC_GPR3_HDMI_MUX_CTL_MASK))

     | (IOMUXC_GPR3_MUX_SRC_IPU1_DI0

        << IOMUXC_GPR3_LVDS1_MUX_CTL_OFFSET)

     | (IOMUXC_GPR3_MUX_SRC_IPU1_DI0

        << IOMUXC_GPR3_LVDS0_MUX_CTL_OFFSET);

  writel(reg, &iomux->gpr[3]);

.................................

but the i found the error "Unable to allocate freamebuffer memory", and i can't get the logo display. who can help me ?

 

QQ图片20160622145549.png

Outcomes