cy_as_device_handle cyasdevice_getdevhandle(void) { if (cy_as_device_controller) { #ifdef CONFIG_MACH_OMAP3_WESTBRIDGE_AST_PNAND_HAL cy_as_hal_config_c_s_mux(); #endif return cy_as_device_controller->dev_handle; } return NULL; }
/* * inits all omap h/w */ uint32_t cy_as_hal_processor_hw_init(cy_as_omap_dev_kernel *dev_p) { int i, err; cy_as_hal_print_message(KERN_INFO "init OMAP3430 hw...\n"); iomux_vma = (u32)ioremap_nocache( (u32)CTLPADCONF_BASE_ADDR, CTLPADCONF_SIZE); cy_as_hal_print_message(KERN_INFO "PADCONF_VMA=%x val=%x\n", iomux_vma, IORD32(iomux_vma)); /* * remap gpio banks */ for (i = 0; i < 6; i++) { gpio_vma_tab[i].virt_addr = (u32)ioremap_nocache( gpio_vma_tab[i].phy_addr, gpio_vma_tab[i].size); cy_as_hal_print_message(KERN_INFO "%s virt_addr=%x\n", gpio_vma_tab[i].name, (u32)gpio_vma_tab[i].virt_addr); }; /* * force OMAP_GPIO_126 to rleased state, * will be configured to drive reset */ gpio_free(AST_RESET); /* *same thing with AStoria CS pin */ gpio_free(AST_CS); /* * initialize all the OMAP pads connected to astoria */ cy_as_hal_init_user_pads(user_pad_cfg); err = cy_as_hal_gpmc_init(dev_p); cy_as_hal_config_c_s_mux(); return err; }