示例#1
0
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;
}
示例#2
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;
}