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; }
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; }
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; }
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(); }
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; }
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; }
/* * 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); }
void IO_InitPinmux(void) { pinmux_init((PIN_GROUP_CONFIG *)vTopConfig); }