static int __init hawaii_init(void)
{
	pm_power_off = hawaii_poweroff;

	cpu_info_verbose();
	pinmux_init();

#ifdef CONFIG_KONA_ATAG_DT
	printk(KERN_INFO "pinmux_gpio_mask: 0x%x, 0x%x, 0x%x, 0x%x\n",
	       dt_pinmux_gpio_mask[0], dt_pinmux_gpio_mask[1],
	       dt_pinmux_gpio_mask[2], dt_pinmux_gpio_mask[3]);
#endif

#ifdef CONFIG_GPIOLIB
	/* hawaii has 4 banks of GPIO pins */
	kona_gpio_init(4);
#endif
	/*
	  Ensure that all MM accesss to CENTRAL HUB are blocked.
	  This is to ensure that spurious access such as :
	  1. reset value of UNICAM address registers,
	  2. V3D access (un-intentional)
	  are ignored.
	*/
	block_mm_access_to_hub();
	//scu_init((void __iomem *)KONA_SCU_VA);
	return 0;
}
Exemple #2
0
int board_early_init_f(void)
{
	if (!clock_early_init_done())
		clock_early_init();

#if defined(CONFIG_TEGRA_DISCONNECT_UDC_ON_BOOT)
#define USBCMD_FS2 (1 << 15)
	{
		struct usb_ctlr *usbctlr = (struct usb_ctlr *)0x7d000000;
		writel(USBCMD_FS2, &usbctlr->usb_cmd);
	}
#endif

	/* Do any special system timer/TSC setup */
#if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
	if (!tegra_cpu_is_non_secure())
#endif
		arch_timer_init();

	pinmux_init();
	board_init_uart_f();

	/* Initialize periph GPIOs */
	gpio_early_init();
	gpio_early_init_uart();

	return 0;
}
Exemple #3
0
static int __init rhea_init(void)
{
	pm_power_off = rhea_poweroff;
	arm_pm_restart = rhea_restart;

#ifdef CONFIG_CACHE_L2X0
	rhea_l2x0_init();
#endif

	pinmux_init();

#ifdef CONFIG_KONA_ATAG_DT
	printk(KERN_INFO "pinmux_gpio_mask: 0x%x, 0x%x, 0x%x, 0x%x\n",
		dt_pinmux_gpio_mask[0], dt_pinmux_gpio_mask[1],
		dt_pinmux_gpio_mask[2], dt_pinmux_gpio_mask[3]);
#endif

#ifdef CONFIG_GPIOLIB
	/* rhea has 4 banks of GPIO pins */
	kona_gpio_init(4);
#endif


	return 0;
}
Exemple #4
0
void bootblock_mainboard_early_init(void)
{
	/* enable APB/UART0 clock */
	setbits_le32(&mvmap2315_apmu_clk->uartclk0_clkgenconfig,
		     MVMAP2315_UART_CLK_EN);

	/* enable APB/UART1 clock */
	setbits_le32(&mvmap2315_apmu_clk->uartclk1_clkgenconfig,
		     MVMAP2315_UART_CLK_EN);

	pinmux_init();
}
Exemple #5
0
int board_early_init_f(void)
{
	pinmux_init();
	board_init_uart_f();

	/* Initialize periph GPIOs */
	gpio_early_init();
	gpio_early_init_uart();
#ifdef CONFIG_LCD
	tegra_lcd_early_init(gd->fdt_blob);
#endif

	return 0;
}
Exemple #6
0
int board_early_init_f(void)
{
	/* Initialize periph clocks */
	clock_init();

	/* Initialize periph pinmuxes */
	pinmux_init();

	/* Initialize periph GPIOs */
	gpio_init();

	/* Init UART, scratch regs, and start CPU */
	tegra2_start();
	return 0;
}
Exemple #7
0
/*
 * Routine: board_init
 * Description: Early hardware init.
 */
int board_init(void)
{
	/* boot param addr */
	gd->bd->bi_boot_params = (NV_PA_SDRAM_BASE + 0x100);
	/* board id for Linux */
	gd->bd->bi_arch_number = CONFIG_MACH_TYPE;

	/* Initialize peripheral clocks */
	clock_init();

	/* Initialize periph pinmuxes */
	pinmux_init();

	return 0;
}
static int __init hawaii_init(void)
{
	pm_power_off = hawaii_poweroff;

	cpu_info_verbose();
	pinmux_init();

#ifdef CONFIG_KONA_ATAG_DT
	printk(KERN_INFO "pinmux_gpio_mask: 0x%x, 0x%x, 0x%x, 0x%x\n",
	       dt_pinmux_gpio_mask[0], dt_pinmux_gpio_mask[1],
	       dt_pinmux_gpio_mask[2], dt_pinmux_gpio_mask[3]);
#endif

#ifdef CONFIG_GPIOLIB
	/* hawaii has 4 banks of GPIO pins */
	kona_gpio_init(4);
#endif

	scu_init((void __iomem *)KONA_SCU_VA);
	return 0;
}
static int of_tl7689_int_pinmux()
{
	struct device_node *of_pinmux = NULL;
	const __be32 *list;
	u32 size=0,pin_setting[TL7689_PINMUX_SIZE] = {0};
	u32 i=0;

	of_pinmux = of_find_node_by_path("/pinmux");
	if (!of_pinmux) {
		early_print("can not find pinmux in dtb\n");
		while (1);
	}
	if (of_device_is_compatible(of_pinmux, pinmux_compat)) {
		list = of_get_property(of_pinmux,"setting_table",&size);
		if(size == 0 || size > TL7689_PINMUX_SIZE * sizeof(int) || list == NULL) {
			early_print("can not find setting_table or size err in pinmux node,size:%d,0x%x\n",size,list);
			while (1);

		}
		size /= sizeof(*list);
		early_print("find pinmux of node size is %d\n",size);
		if (size != TL7689_PINMUX_SIZE)
			size = TL7689_PINMUX_SIZE;
		while (i < size) {
			*(pin_setting+i) = be32_to_cpup(list++);
			early_print("pin(%d~%d) setting 0x%x\n",i*4,i*4+3,*(pin_setting+i));
			i ++;
		}
		pinmux_init(pin_setting,size);
		return 0;
	} else {
		early_print("can not find compatible pinmux\n");
		while (1);
	}

	return 0;
}
/**
  Do GPIO pinmux initialization

  Initialize I/O pinmux

  @param void
  @return void
*/
void GPIOMap_PinmuxInit(void)
{
    // Initialize pinmux setting
    pinmux_init((PIN_GROUP_CONFIG *)vTopConfig);
}
Exemple #11
0
void IO_InitPinmux(void)
{
    pinmux_init((PIN_GROUP_CONFIG *)vTopConfig);
}