Lines Matching +full:ras +full:- +full:to +full:- +full:cas

5  * Copyright (C) 2009-2011 ST-Ericsson AB
11 * are connected to different pins in different packaging types, so it would
165 #define DRIVER_NAME "pinmux-u300"
543 PINCTRL_PIN(356, "PO EMIF 0 SD CAS N"),
552 PINCTRL_PIN(365, "PO EMIF 0 SD RAS N"),
657 * @dev: a pointer back to containing device
658 * @virtbase: the offset to the controller in virtual memory
669 * u300_pmx_registers - the array of registers read/written for each pinmux
681 * struct u300_pin_group - describes a U300 pin group
684 * from the driver-local pin enumeration space
695 * struct pmx_onmask - mask bits to enable/disable padmux
696 * @mask: mask bits to disable
697 * @val: mask bits to enable
747 * This connects the SDRAM to CS2 and a NAND flash to
839 return -EINVAL; in u300_list_groups()
856 return -EINVAL; in u300_get_group_pins()
880 * struct u300_pmx_func - describes U300 pinmux functions
883 * @onmask: bits to set to enable this when doing pin muxing
948 val = upmx_mask->bits; in u300_pmx_endisable()
952 mask = upmx_mask->mask; in u300_pmx_endisable()
954 regval = readw(upmx->virtbase + u300_pmx_registers[i]); in u300_pmx_endisable()
957 writew(regval, upmx->virtbase + u300_pmx_registers[i]); in u300_pmx_endisable()
968 /* There is nothing to do with the power pins */ in u300_pmx_enable()
983 /* There is nothing to do with the power pins */ in u300_pmx_disable()
994 return -EINVAL; in u300_pmx_list_funcs()
1022 * GPIO ranges handled by the application-side COH901XXX GPIO controller
1024 * that are useful in practice to cut down on tables.
1064 upmx = devm_kzalloc(&pdev->dev, sizeof(*upmx), GFP_KERNEL); in u300_pmx_probe()
1066 return -ENOMEM; in u300_pmx_probe()
1068 upmx->dev = &pdev->dev; in u300_pmx_probe()
1072 ret = -ENOENT; in u300_pmx_probe()
1075 upmx->phybase = res->start; in u300_pmx_probe()
1076 upmx->physize = resource_size(res); in u300_pmx_probe()
1078 if (request_mem_region(upmx->phybase, upmx->physize, in u300_pmx_probe()
1080 ret = -ENOMEM; in u300_pmx_probe()
1084 upmx->virtbase = ioremap(upmx->phybase, upmx->physize); in u300_pmx_probe()
1085 if (!upmx->virtbase) { in u300_pmx_probe()
1086 ret = -ENOMEM; in u300_pmx_probe()
1090 upmx->pctl = pinctrl_register(&u300_pmx_desc, &pdev->dev, upmx); in u300_pmx_probe()
1091 if (!upmx->pctl) { in u300_pmx_probe()
1092 dev_err(&pdev->dev, "could not register U300 pinmux driver\n"); in u300_pmx_probe()
1093 ret = -EINVAL; in u300_pmx_probe()
1099 pinctrl_add_gpio_range(upmx->pctl, &u300_gpio_ranges[i]); in u300_pmx_probe()
1103 dev_info(&pdev->dev, "initialized U300 pinmux driver\n"); in u300_pmx_probe()
1108 iounmap(upmx->virtbase); in u300_pmx_probe()
1112 release_mem_region(upmx->phybase, upmx->physize); in u300_pmx_probe()
1114 devm_kfree(&pdev->dev, upmx); in u300_pmx_probe()
1124 pinctrl_remove_gpio_range(upmx->pctl, &u300_gpio_ranges[i]); in u300_pmx_remove()
1125 pinctrl_unregister(upmx->pctl); in u300_pmx_remove()
1126 iounmap(upmx->virtbase); in u300_pmx_remove()
1127 release_mem_region(upmx->phybase, upmx->physize); in u300_pmx_remove()
1129 devm_kfree(&pdev->dev, upmx); in u300_pmx_remove()