Ejemplo n.º 1
0
static void __init omap5panda_display_init(void)
{
	struct sgx_omaplfb_config data = {
		.tiler2d_buffers = 0,
		.swap_chain_length = 2,
		.vram_buffers = 2,
	};

	omapfb_set_platform_data(&panda_fb_pdata);
	omap_vram_set_sdram_vram(OMAP5_SEVM_FB_RAM_SIZE, 0);
	sgx_omaplfb_set(0, &data);

	i2c_register_board_info(0, hdmi_i2c_eeprom,
			ARRAY_SIZE(hdmi_i2c_eeprom));
	platform_device_register(&hdmi_edid_device);

	omap5panda_hdmi_init();
	omap_display_init(&panda5_dss_data);
}

static const struct usbhs_omap_board_data usbhs_bdata __initconst = {
	.port_mode[0] = OMAP_USBHS_PORT_MODE_UNUSED,
	.port_mode[1] = OMAP_EHCI_PORT_MODE_HSIC,
	.port_mode[2] = OMAP_EHCI_PORT_MODE_HSIC,
	.phy_reset  = true,
	.reset_gpio_port[0]  = -EINVAL,
	.reset_gpio_port[1]  = GPIO_HUB_NRESET,
	.reset_gpio_port[2]  = GPIO_ETH_NRESET
};

static void __init omap_ehci_ohci_init(void)
{
	struct clk *phy_ref_clk;

       /* FREF_CLK1 provides the 19.2 MHz reference clock to the PHY */
	phy_ref_clk = clk_get(NULL, "auxclk1_ck");
	if (IS_ERR(phy_ref_clk)) {
		pr_err("Cannot request auxclk1\n");
	} else {
		clk_set_rate(phy_ref_clk, 19200000);
		clk_enable(phy_ref_clk);
	}

	omap_mux_init_gpio(GPIO_HUB_NRESET,
			OMAP_PIN_OUTPUT | OMAP_PIN_OFF_NONE | OMAP_MUX_MODE6);
	omap_mux_init_gpio(GPIO_ETH_NRESET,
			OMAP_PIN_OUTPUT | OMAP_PIN_OFF_NONE | OMAP_MUX_MODE6);

	usbhs_init(&usbhs_bdata);
	return;
}

static void __init omap_5_panda_init(void)
{
	omap5_mux_init(board_mux, NULL, OMAP_PACKAGE_CBL);
	omap_sdrc_init(NULL, NULL);
	omap_init_board_version(BOARD_MAKE_VERSION(BOARD_OMAP5_UEVM, 0));
	omap_create_board_props();
	omap5pandai2c_init();
	omap_msecure_init();
	omap5_pmic_init(1, PALMAS_NAME, OMAP44XX_IRQ_SYS_1N, PALMAS_DATA,
			"twl6040", OMAP44XX_IRQ_SYS_2N, &twl6040_data);

	omap5_board_serial_init();

	platform_device_register(&dummy_sd_regulator_device);
	omap_ehci_ohci_init();

	/* TODO: Once the board identification is passed in from the
	 * bootloader pass in the HACK board ID to the conn board file
	*/
	omap4plus_connectivity_init();

	omap_hsmmc_init(mmc);
	usb_dwc3_init();
	platform_add_devices(panda5_devices, ARRAY_SIZE(panda5_devices));

	omap_init_dmm_tiler();
	omap5_register_ion();
	omap5panda_display_init();
}

static void __init omap_panda5_reserve(void)
{
	omap_rproc_reserve_cma(RPROC_CMA_OMAP5);

	omap5_ion_init();

	omap_reserve();
}
Ejemplo n.º 2
0
static void __init omap4_panda_reserve(void)
{
	omap_rproc_reserve_cma(RPROC_CMA_OMAP4);
	omap_reserve();
}
Ejemplo n.º 3
0
static void __init omap_4430sdp_reserve(void)
{
	omap_rproc_reserve_cma(RPROC_CMA_OMAP4);
	omap_reserve();
}