/Linux-v5.4/Documentation/translations/zh_CN/ |
D | gpio.txt | 1 Chinese translated version of Documentation/admin-guide/gpio 13 Documentation/admin-guide/gpio 的中文翻译 27 GPIO 接口 37 "通用输入/输出口"(GPIO)是一个灵活的由软件控制的数字信号。他们可 40 “球珠”的一个位。电路板原理图显示了 GPIO 与外部硬件的连接关系。 43 片上系统 (SOC) 处理器对 GPIO 有很大的依赖。在某些情况下,每个 44 非专用引脚都可配置为 GPIO,且大多数芯片都最少有一些 GPIO。 45 可编程逻辑器件(类似 FPGA) 可以方便地提供 GPIO。像电源管理和 48 芯片。大多数 PC 的南桥有一些拥有 GPIO 能力的引脚 (只有BIOS 51 GPIO 的实际功能因系统而异。通常用法有: [all …]
|
/Linux-v5.4/drivers/gpio/ |
D | Makefile | 2 # generic gpio support: platform drivers, dedicated expander chips, etc 15 obj-$(CONFIG_GPIO_GENERIC) += gpio-generic.o 17 # directly supported by gpio-generic 18 gpio-generic-$(CONFIG_GPIO_GENERIC) += gpio-mmio.o 20 obj-$(CONFIG_GPIO_104_DIO_48E) += gpio-104-dio-48e.o 21 obj-$(CONFIG_GPIO_104_IDI_48) += gpio-104-idi-48.o 22 obj-$(CONFIG_GPIO_104_IDIO_16) += gpio-104-idio-16.o 23 obj-$(CONFIG_GPIO_74X164) += gpio-74x164.o 24 obj-$(CONFIG_GPIO_74XX_MMIO) += gpio-74xx-mmio.o 25 obj-$(CONFIG_GPIO_ADNP) += gpio-adnp.o [all …]
|
D | Kconfig | 3 # GPIO infrastructure and drivers 10 the architecture to provide a custom asm/gpio.h implementation 15 bool "GPIO Support" 17 This enables GPIO support through the generic GPIO library. 19 one or more of the GPIO drivers below. 51 bool "Debug GPIO calls" 54 Say Y here to add some extra checks and diagnostics to GPIO calls. 62 bool "/sys/class/gpio/... (sysfs interface)" 67 This ABI is deprecated. If you want to use GPIO from userspace, 82 menu "Memory mapped GPIO drivers" [all …]
|
D | gpio-dwapb.c | 10 #include <linux/gpio/driver.h> 26 #include <linux/platform_data/gpio-dwapb.h> 68 /* Store GPIO context across system-wide suspend/resume transitions */ 85 struct dwapb_gpio *gpio; member 121 static inline u32 gpio_reg_convert(struct dwapb_gpio *gpio, unsigned int offset) in gpio_reg_convert() argument 123 if (gpio->flags & GPIO_REG_OFFSET_V2) in gpio_reg_convert() 129 static inline u32 dwapb_read(struct dwapb_gpio *gpio, unsigned int offset) in dwapb_read() argument 131 struct gpio_chip *gc = &gpio->ports[0].gc; in dwapb_read() 132 void __iomem *reg_base = gpio->regs; in dwapb_read() 134 return gc->read_reg(reg_base + gpio_reg_convert(gpio, offset)); in dwapb_read() [all …]
|
D | gpio-aspeed.c | 10 #include <linux/gpio/driver.h> 11 #include <linux/gpio/aspeed.h> 23 * These two headers aren't meant to be used by GPIO drivers. We need 28 #include <linux/gpio/consumer.h> 48 * represents disabled debouncing for the GPIO. Any other value for an element 83 * line even when the GPIO is configured as an output. Since 208 static inline void __iomem *bank_reg(struct aspeed_gpio *gpio, in bank_reg() argument 214 return gpio->base + bank->val_regs + GPIO_VAL_VALUE; in bank_reg() 216 return gpio->base + bank->rdata_reg; in bank_reg() 218 return gpio->base + bank->val_regs + GPIO_VAL_DIR; in bank_reg() [all …]
|
D | gpio-zynq.c | 3 * Xilinx Zynq GPIO device driver 10 #include <linux/gpio/driver.h> 19 #define DRIVER_NAME "zynq-gpio" 59 /* Register offsets for the GPIO device */ 92 /* GPIO upper 16 bit mask */ 112 * struct zynq_gpio - gpio device private data structure 114 * @base_addr: base address of the GPIO device 116 * @irq: interrupt for the GPIO device 130 * struct zynq_platform_data - zynq gpio platform data structure 131 * @label: string to store in gpio->label [all …]
|
/Linux-v5.4/drivers/gpu/drm/amd/display/dc/gpio/ |
D | gpio_base.c | 55 struct gpio *gpio, in dal_gpio_open() argument 58 return dal_gpio_open_ex(gpio, mode); in dal_gpio_open() 62 struct gpio *gpio, in dal_gpio_open_ex() argument 65 if (gpio->pin) { in dal_gpio_open_ex() 70 // No action if allocation failed during gpio construct in dal_gpio_open_ex() 71 if (!gpio->hw_container.ddc) { in dal_gpio_open_ex() 75 gpio->mode = mode; in dal_gpio_open_ex() 77 return dal_gpio_service_open(gpio); in dal_gpio_open_ex() 81 const struct gpio *gpio, in dal_gpio_get_value() argument 84 if (!gpio->pin) { in dal_gpio_get_value() [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/gpio/ |
D | renesas,gpio-rcar.txt | 1 * Renesas R-Car GPIO Controller 6 - "renesas,gpio-r8a7743": for R8A7743 (RZ/G1M) compatible GPIO controller. 7 - "renesas,gpio-r8a7744": for R8A7744 (RZ/G1N) compatible GPIO controller. 8 - "renesas,gpio-r8a7745": for R8A7745 (RZ/G1E) compatible GPIO controller. 9 - "renesas,gpio-r8a77470": for R8A77470 (RZ/G1C) compatible GPIO controller. 10 - "renesas,gpio-r8a774a1": for R8A774A1 (RZ/G2M) compatible GPIO controller. 11 - "renesas,gpio-r8a774c0": for R8A774C0 (RZ/G2E) compatible GPIO controller. 12 - "renesas,gpio-r8a7778": for R8A7778 (R-Car M1) compatible GPIO controller. 13 - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller. 14 - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller. [all …]
|
D | gpio.txt | 1 Specifying GPIO information for devices 7 GPIO properties should be named "[<name>-]gpios", with <name> being the purpose 8 of this GPIO for the device. While a non-existent <name> is considered valid 10 for new bindings. Also, GPIO properties named "[<name>-]gpio" are valid and old 14 GPIO properties can contain one or more GPIO phandles, but only in exceptional 23 The following example could be used to describe GPIO pins used as device enable 27 gpio-controller; 28 #gpio-cells = <2>; 37 In the above example, &gpio1 uses 2 cells to specify a gpio. The first cell is 38 a local offset to the GPIO line and the second cell represent consumer flags, [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/pinctrl/ |
D | marvell,kirkwood-pinctrl.txt | 24 mpp0 0 gpio, nand(io2), spi(cs) 28 mpp4 4 gpio, nand(io6), uart0(rxd), ptp(clk) 32 mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk), 34 mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq), 37 mpp11 11 gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq), 40 mpp13 13 gpio, sdio(cmd), uart1(txd) 41 mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col) 42 mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd) 43 mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs) 44 mpp17 17 gpio, sdio(d3) [all …]
|
D | marvell,armada-375-pinctrl.txt | 16 mpp0 0 gpio, dev(ad2), spi0(cs1), spi1(cs1) 17 mpp1 1 gpio, dev(ad3), spi0(mosi), spi1(mosi) 18 mpp2 2 gpio, dev(ad4), ptp(evreq), led(c0), audio(sdi) 19 mpp3 3 gpio, dev(ad5), ptp(trig), led(p3), audio(mclk) 20 mpp4 4 gpio, dev(ad6), spi0(miso), spi1(miso) 21 mpp5 5 gpio, dev(ad7), spi0(cs2), spi1(cs2) 22 mpp6 6 gpio, dev(ad0), led(p1), audio(lrclk) 23 mpp7 7 gpio, dev(ad1), ptp(clk), led(p2), audio(extclk) 24 mpp8 8 gpio, dev (bootcs), spi0(cs0), spi1(cs0) 25 mpp9 9 gpio, spi0(sck), spi1(sck), nand(we) [all …]
|
D | marvell,armada-xp-pinctrl.txt | 21 mpp0 0 gpio, ge0(txclkout), lcd(d0) 22 mpp1 1 gpio, ge0(txd0), lcd(d1) 23 mpp2 2 gpio, ge0(txd1), lcd(d2) 24 mpp3 3 gpio, ge0(txd2), lcd(d3) 25 mpp4 4 gpio, ge0(txd3), lcd(d4) 26 mpp5 5 gpio, ge0(txctl), lcd(d5) 27 mpp6 6 gpio, ge0(rxd0), lcd(d6) 28 mpp7 7 gpio, ge0(rxd1), lcd(d7) 29 mpp8 8 gpio, ge0(rxd2), lcd(d8) 30 mpp9 9 gpio, ge0(rxd3), lcd(d9) [all …]
|
D | marvell,armada-37xx-pinctrl.txt | 1 * Marvell Armada 37xx SoC pin and gpio controller 3 Each Armada 37xx SoC come with two pin and gpio controller one for the 6 Inside this set of register the gpio latch allows exposing some 11 GPIO and pin controller: 26 - reg: The first set of register are for pinctrl/gpio and the second 28 - interrupts: list of the interrupt use by the gpio 34 - functions jtag, gpio 38 - functions sdio, gpio 42 - functions emmc, gpio 46 - functions pwm, gpio [all …]
|
D | marvell,orion-pinctrl.txt | 24 mpp0 0 pcie(rstout), pci(req2), gpio 25 mpp1 1 gpio, pci(gnt2) 26 mpp2 2 gpio, pci(req3), pci-1(pme) 27 mpp3 3 gpio, pci(gnt3) 28 mpp4 4 gpio, pci(req4) 29 mpp5 5 gpio, pci(gnt4) 30 mpp6 6 gpio, pci(req5), pci-1(clk) 31 mpp7 7 gpio, pci(gnt5), pci-1(clk) 32 mpp8 8 gpio, ge(col) 33 mpp9 9 gpio, ge(rxerr) [all …]
|
/Linux-v5.4/arch/mips/include/asm/mach-pmcs-msp71xx/ |
D | msp_gpio_macros.h | 4 * board GPIO pins 41 /* -- GPIO Enumerations -- */ 52 MSP_GPIO_UART_INPUT = 0x2, /* Only GPIO 4 or 5 */ 54 MSP_GPIO_UART_OUTPUT = 0x9, /* Only GPIO 2 or 3 */ 55 MSP_GPIO_PERIF_TIMERA = 0x9, /* Only GPIO 0 or 1 */ 56 MSP_GPIO_PERIF_TIMERB = 0xa, /* Only GPIO 0 or 1 */ 57 MSP_GPIO_UNKNOWN = 0xb, /* No such GPIO or mode */ 64 /* GPIO 0 and 1 on the first register */ 66 /* GPIO 2, 3, 4, and 5 on the second register */ 68 /* GPIO 6, 7, 8, and 9 on the third register */ [all …]
|
/Linux-v5.4/arch/arc/boot/dts/ |
D | abilis_tb100.dtsi | 37 pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */ 50 pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */ 63 pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */ 76 pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */ 83 pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */ 86 pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */ 118 pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */ 121 pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */ 132 pctl_gpio_n: pctl-gpio-n { 136 pctl_gpio_b: pctl-gpio-b { [all …]
|
D | abilis_tb101.dtsi | 37 pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */ 50 pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */ 63 pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */ 76 pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */ 83 pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */ 86 pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */ 124 pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */ 127 pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */ 141 pctl_gpio_n: pctl-gpio-n { 145 pctl_gpio_b: pctl-gpio-b { [all …]
|
/Linux-v5.4/include/linux/ |
D | gpio.h | 3 * <linux/gpio.h> 5 * This is the LEGACY GPIO bulk include file, including legacy APIs. It is 6 * used for GPIO drivers still referencing the global GPIO numberspace, 9 * If you're implementing a GPIO driver, only include <linux/gpio/driver.h> 10 * If you're implementing a GPIO consumer, only include <linux/gpio/consumer.h> 17 /* see Documentation/driver-api/gpio/legacy.rst */ 19 /* make these flag values available regardless of GPIO kconfig options */ 30 /* Gpio pin is active-low */ 33 /* Gpio pin is open drain */ 36 /* Gpio pin is open source */ [all …]
|
/Linux-v5.4/arch/m68k/include/asm/ |
D | mcfgpio.h | 3 * Coldfire generic GPIO support. 12 #include <asm-generic/gpio.h> 15 int __mcfgpio_get_value(unsigned gpio); 16 void __mcfgpio_set_value(unsigned gpio, int value); 17 int __mcfgpio_direction_input(unsigned gpio); 18 int __mcfgpio_direction_output(unsigned gpio, int value); 19 int __mcfgpio_request(unsigned gpio); 20 void __mcfgpio_free(unsigned gpio); 23 static inline int __gpio_get_value(unsigned gpio) in __gpio_get_value() argument 25 if (gpio < MCFGPIO_PIN_MAX) in __gpio_get_value() [all …]
|
/Linux-v5.4/arch/mips/include/asm/mach-au1x00/ |
D | gpio-au1300.h | 3 * gpio-au1300.h -- GPIO control for Au1300 GPIC and compatibles. 15 struct gpio; 29 static inline int au1300_gpio_get_value(unsigned int gpio) in au1300_gpio_get_value() argument 34 gpio -= AU1300_GPIO_BASE; in au1300_gpio_get_value() 35 roff += GPIC_GPIO_BANKOFF(gpio); in au1300_gpio_get_value() 36 bit = GPIC_GPIO_TO_BIT(gpio); in au1300_gpio_get_value() 40 static inline int au1300_gpio_direction_input(unsigned int gpio) in au1300_gpio_direction_input() argument 45 gpio -= AU1300_GPIO_BASE; in au1300_gpio_direction_input() 47 roff += GPIC_GPIO_BANKOFF(gpio); in au1300_gpio_direction_input() 48 bit = GPIC_GPIO_TO_BIT(gpio); in au1300_gpio_direction_input() [all …]
|
D | gpio-au1000.h | 2 * GPIO functions for Au1000, Au1500, Au1100, Au1550, Au1200 14 /* The default GPIO numberspace as documented in the Alchemy manuals. 43 struct gpio; 45 static inline int au1000_gpio1_to_irq(int gpio) in au1000_gpio1_to_irq() argument 47 return MAKE_IRQ(1, gpio - ALCHEMY_GPIO1_BASE); in au1000_gpio1_to_irq() 50 static inline int au1000_gpio2_to_irq(int gpio) in au1000_gpio2_to_irq() argument 63 static inline int au1500_gpio1_to_irq(int gpio) in au1500_gpio1_to_irq() argument 65 gpio -= ALCHEMY_GPIO1_BASE; in au1500_gpio1_to_irq() 67 switch (gpio) { in au1500_gpio1_to_irq() 70 case 23 ... 28: return MAKE_IRQ(1, gpio); in au1500_gpio1_to_irq() [all …]
|
/Linux-v5.4/drivers/gpu/drm/amd/display/include/ |
D | gpio_interface.h | 32 struct gpio; 36 struct gpio *gpio, 40 struct gpio *gpio, 45 const struct gpio *gpio, 50 const struct gpio *gpio, 55 const struct gpio *gpio); 59 struct gpio *gpio, 64 struct gpio *gpio); 68 struct gpio *gpio); 70 /* Get the GPIO id */ [all …]
|
/Linux-v5.4/Documentation/driver-api/gpio/ |
D | drivers-on-gpio.rst | 2 Subsystem drivers using GPIO 5 Note that standard kernel drivers exist for common GPIO tasks and will provide 10 - leds-gpio: drivers/leds/leds-gpio.c will handle LEDs connected to GPIO 13 - ledtrig-gpio: drivers/leds/trigger/ledtrig-gpio.c will provide a LED trigger, 14 i.e. a LED will turn on/off in response to a GPIO line going high or low 15 (and that LED may in turn use the leds-gpio as per above). 17 - gpio-keys: drivers/input/keyboard/gpio_keys.c is used when your GPIO line 20 - gpio-keys-polled: drivers/input/keyboard/gpio_keys_polled.c is used when your 21 GPIO line cannot generate interrupts, so it needs to be periodically polled 26 mouse cable and connect the wires to GPIO lines or solder a mouse connector [all …]
|
/Linux-v5.4/include/asm-generic/ |
D | gpio.h | 13 #include <linux/gpio/driver.h> 14 #include <linux/gpio/consumer.h> 16 /* Platforms may implement their GPIO interface with library code, 18 * extra memory (for code and for per-GPIO table entries). 20 * While the GPIO programming interface defines valid GPIO numbers 38 * "valid" GPIO numbers are nonnegative and may be passed to 42 * Invalid GPIO numbers are useful for indicating no-such-GPIO in 52 struct gpio; 58 /* caller holds gpio_lock *OR* gpio is marked as requested */ 59 static inline struct gpio_chip *gpio_to_chip(unsigned gpio) in gpio_to_chip() argument [all …]
|
/Linux-v5.4/drivers/ssb/ |
D | driver_gpio.c | 3 * GPIO driver 13 #include <linux/gpio/driver.h> 26 static int ssb_gpio_to_irq(struct gpio_chip *chip, unsigned int gpio) in ssb_gpio_to_irq() argument 31 return irq_find_mapping(bus->irq_domain, gpio); in ssb_gpio_to_irq() 41 static int ssb_gpio_chipco_get_value(struct gpio_chip *chip, unsigned int gpio) in ssb_gpio_chipco_get_value() argument 45 return !!ssb_chipco_gpio_in(&bus->chipco, 1 << gpio); in ssb_gpio_chipco_get_value() 48 static void ssb_gpio_chipco_set_value(struct gpio_chip *chip, unsigned int gpio, in ssb_gpio_chipco_set_value() argument 53 ssb_chipco_gpio_out(&bus->chipco, 1 << gpio, value ? 1 << gpio : 0); in ssb_gpio_chipco_set_value() 57 unsigned int gpio) in ssb_gpio_chipco_direction_input() argument 61 ssb_chipco_gpio_outen(&bus->chipco, 1 << gpio, 0); in ssb_gpio_chipco_direction_input() [all …]
|