1dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner/* 2dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner * include/asm-sh/gpio.h 3dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner * 42967dab1ae37e30f1b71316513b49fd25c42eabeMagnus Damm * Generic GPIO API and pinmux table support for SuperH. 5dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner * 62967dab1ae37e30f1b71316513b49fd25c42eabeMagnus Damm * Copyright (c) 2008 Magnus Damm 7dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner * 8dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner * This file is subject to the terms and conditions of the GNU General Public 9dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner * License. See the file "COPYING" in the main directory of this archive 10dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner * for more details. 11dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner */ 12dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner#ifndef __ASM_SH_GPIO_H 13dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner#define __ASM_SH_GPIO_H 14dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner 15e4b41dbd60e30463cc8fab21ed45b7d6227fc338Paul Mundt#include <linux/kernel.h> 16550109378450e7982101f299d41a80e8efc759eaPaul Mundt#include <linux/errno.h> 17550109378450e7982101f299d41a80e8efc759eaPaul Mundt 18dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner#if defined(CONFIG_CPU_SH3) 19f15cbe6f1a4b4d9df59142fc8e4abb973302cf44Paul Mundt#include <cpu/gpio.h> 20dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner#endif 21dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner 2269edbba0021a48fe034849501513930f6175cb5dMagnus Damm#define ARCH_NR_GPIOS 512 23fae4339919c741f89f7e293b8c646207e1df28e1Magnus Damm#include <linux/sh_pfc.h> 2469edbba0021a48fe034849501513930f6175cb5dMagnus Damm 2569edbba0021a48fe034849501513930f6175cb5dMagnus Damm#ifdef CONFIG_GPIOLIB 2669edbba0021a48fe034849501513930f6175cb5dMagnus Damm 2769edbba0021a48fe034849501513930f6175cb5dMagnus Dammstatic inline int gpio_get_value(unsigned gpio) 2869edbba0021a48fe034849501513930f6175cb5dMagnus Damm{ 2969edbba0021a48fe034849501513930f6175cb5dMagnus Damm return __gpio_get_value(gpio); 3069edbba0021a48fe034849501513930f6175cb5dMagnus Damm} 3169edbba0021a48fe034849501513930f6175cb5dMagnus Damm 3269edbba0021a48fe034849501513930f6175cb5dMagnus Dammstatic inline void gpio_set_value(unsigned gpio, int value) 3369edbba0021a48fe034849501513930f6175cb5dMagnus Damm{ 3469edbba0021a48fe034849501513930f6175cb5dMagnus Damm __gpio_set_value(gpio, value); 3569edbba0021a48fe034849501513930f6175cb5dMagnus Damm} 3669edbba0021a48fe034849501513930f6175cb5dMagnus Damm 3769edbba0021a48fe034849501513930f6175cb5dMagnus Dammstatic inline int gpio_cansleep(unsigned gpio) 3869edbba0021a48fe034849501513930f6175cb5dMagnus Damm{ 3969edbba0021a48fe034849501513930f6175cb5dMagnus Damm return __gpio_cansleep(gpio); 4069edbba0021a48fe034849501513930f6175cb5dMagnus Damm} 4169edbba0021a48fe034849501513930f6175cb5dMagnus Damm 4269edbba0021a48fe034849501513930f6175cb5dMagnus Dammstatic inline int gpio_to_irq(unsigned gpio) 4369edbba0021a48fe034849501513930f6175cb5dMagnus Damm{ 44532f3759d71d1fceb494212187dacc5a78295dc3Paul Mundt return __gpio_to_irq(gpio); 4569edbba0021a48fe034849501513930f6175cb5dMagnus Damm} 4669edbba0021a48fe034849501513930f6175cb5dMagnus Damm 4769edbba0021a48fe034849501513930f6175cb5dMagnus Dammstatic inline int irq_to_gpio(unsigned int irq) 4869edbba0021a48fe034849501513930f6175cb5dMagnus Damm{ 49532f3759d71d1fceb494212187dacc5a78295dc3Paul Mundt return -ENOSYS; 5069edbba0021a48fe034849501513930f6175cb5dMagnus Damm} 5169edbba0021a48fe034849501513930f6175cb5dMagnus Damm 5269edbba0021a48fe034849501513930f6175cb5dMagnus Damm#endif /* CONFIG_GPIOLIB */ 5369edbba0021a48fe034849501513930f6175cb5dMagnus Damm 54dfc5ed2a939baf08f9385a8c6249b719cac63665Markus Brunner#endif /* __ASM_SH_GPIO_H */ 55