* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #include <xboot.h> #include <led/led-gpio.h> #include <s5p6818-gpio.h> static struct led_gpio_data_t led_gpio_datas[] = { [0] = { .gpio = S5P6818_GPIOB(28), .active_low = 1, }, [1] = { .gpio = S5P6818_GPIOC(11), .active_low = 1, }, [2] = { .gpio = S5P6818_GPIOC(7), .active_low = 1, }, [3] = { .gpio = S5P6818_GPIOC(12), .active_low = 1, }, };
static void s5p6818_uart_init(struct uart_t * uart) { struct resource_t * res = (struct resource_t *)uart->priv; struct s5p6818_uart_data_t * dat = (struct s5p6818_uart_data_t *)res->data; switch(res->id) { case 0: s5p6818_ip_reset(RESET_ID_UART0, 0); clk_enable("GATE-UART0"); gpio_set_cfg(S5P6818_GPIOD(18), 0x1); gpio_set_cfg(S5P6818_GPIOD(14), 0x1); gpio_set_direction(S5P6818_GPIOD(18), GPIO_DIRECTION_OUTPUT); gpio_set_direction(S5P6818_GPIOD(14), GPIO_DIRECTION_INPUT); break; case 1: s5p6818_ip_reset(RESET_ID_UART1, 0); clk_enable("GATE-UART1"); gpio_set_cfg(S5P6818_GPIOD(19), 0x1); gpio_set_cfg(S5P6818_GPIOD(15), 0x1); gpio_set_direction(S5P6818_GPIOD(19), GPIO_DIRECTION_OUTPUT); gpio_set_direction(S5P6818_GPIOD(15), GPIO_DIRECTION_INPUT); break; case 2: s5p6818_ip_reset(RESET_ID_UART2, 0); clk_enable("GATE-UART2"); gpio_set_cfg(S5P6818_GPIOD(20), 0x1); gpio_set_cfg(S5P6818_GPIOD(16), 0x1); gpio_set_direction(S5P6818_GPIOD(20), GPIO_DIRECTION_OUTPUT); gpio_set_direction(S5P6818_GPIOD(16), GPIO_DIRECTION_INPUT); break; case 3: s5p6818_ip_reset(RESET_ID_UART3, 0); clk_enable("GATE-UART3"); gpio_set_cfg(S5P6818_GPIOD(21), 0x1); gpio_set_cfg(S5P6818_GPIOD(17), 0x1); gpio_set_direction(S5P6818_GPIOD(21), GPIO_DIRECTION_OUTPUT); gpio_set_direction(S5P6818_GPIOD(17), GPIO_DIRECTION_INPUT); break; case 4: s5p6818_ip_reset(RESET_ID_UART4, 0); clk_enable("GATE-UART4"); gpio_set_cfg(S5P6818_GPIOB(29), 0x3); gpio_set_cfg(S5P6818_GPIOB(28), 0x3); gpio_set_direction(S5P6818_GPIOB(29), GPIO_DIRECTION_OUTPUT); gpio_set_direction(S5P6818_GPIOB(28), GPIO_DIRECTION_INPUT); break; case 5: s5p6818_ip_reset(RESET_ID_UART5, 0); clk_enable("GATE-UART5"); gpio_set_cfg(S5P6818_GPIOB(31), 0x3); gpio_set_cfg(S5P6818_GPIOB(30), 0x3); gpio_set_direction(S5P6818_GPIOB(31), GPIO_DIRECTION_OUTPUT); gpio_set_direction(S5P6818_GPIOB(30), GPIO_DIRECTION_INPUT); break; default: return; } write32(dat->regbase + UART_UCON, 0x00000005); write32(dat->regbase + UART_UFCON, 0x00000777); write32(dat->regbase + UART_UMCON, 0x00000000); s5p6818_uart_set(uart, dat->baud, dat->data, dat->parity, dat->stop); }
* GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #include <xboot.h> #include <input/key-gpio.h> #include <s5p6818-gpio.h> static struct gpio_button_t buttons[] = { { .key = KEY_MENU, .gpio = S5P6818_GPIOB(9), .active_low = 1, }, { .key = KEY_UP, .gpio = S5P6818_GPIOB(31), .active_low = 1, }, { .key = KEY_DOWN, .gpio = S5P6818_GPIOB(30), .active_low = 1, }, { .key = KEY_ENTER, .gpio = S5P6818_GPIOA(28), .active_low = 1, }, { .key = KEY_POWER,