static int display_setup(void) { if (lib_sysinfo.framebuffer == NULL || lib_sysinfo.framebuffer->physical_address == 0) return 0; display_set_ops(&rush_display_ops); return 0; }
static int board_setup(void) { sysinfo_install_flags(NULL); fill_board_descriptor(); fit_set_compat(bdescriptor.compat_string); install_phys_presence_flag(); console_add_input_driver(&dakota_input_driver); power_set_ops(new_ipq40xx_power_ops()); SpiController *spi = new_spi(0, 0); flash_set_ops(&new_spi_flash(&spi->ops)->ops); QcomMmcHost *mmc = new_qcom_mmc_host(1, MSM_SDC1_BASE, 8); if (!mmc) return -1; list_insert_after(&mmc->mmc.ctrlr.list_node, &fixed_block_dev_controllers); UsbHostController *usb_host1 = new_usb_hc(XHCI, 0x8A00000); list_insert_after(&usb_host1->list_node, &usb_host_controllers); #if (!CONFIG_MOCK_TPM) Ipq40xxI2c *i2c = new_ipq40xx_i2c(BLSP_QUP_ID_2); tpm_set_ops(&new_slb9635_i2c(&i2c->ops, 0x20)->base.ops); #endif DisplayOps *ww_ring_ops = new_ww_ring_display (&new_ipq40xx_i2c (BLSP_QUP_ID_3)->ops, 0x32); display_set_ops(ww_ring_ops); display_init(); write32(ADSS_AUDIO_TXB_CBCR_REG, 0); /* Disable ADSS clock branch */ ipq_snoc_pnoc_init(); list_insert_after(&ipq_enet_fixup.list_node, &device_tree_fixups); return 0; }