/linux/drivers/gpio/ |
H A D | Makefile | 2 # generic gpio support: platform drivers, dedicated expander chips, etc 16 obj-$(CONFIG_GPIO_REGMAP) += gpio-regmap.o 17 obj-$(CONFIG_GPIO_GENERIC) += gpio-generic.o 19 # directly supported by gpio-generic 20 gpio-generic-$(CONFIG_GPIO_GENERIC) += gpio-mmio.o 22 obj-$(CONFIG_GPIO_104_DIO_48E) += gpio-104-dio-48e.o 23 obj-$(CONFIG_GPIO_104_IDI_48) += gpio-104-idi-48.o 24 obj-$(CONFIG_GPIO_104_IDIO_16) += gpio-104-idio-16.o 25 obj-$(CONFIG_GPIO_74X164) += gpio-74x164.o 26 obj-$(CONFIG_GPIO_74XX_MMIO) += gpio-74xx-mmio.o [all …]
|
H A D | gpio-aspeed.c | 9 #include <linux/gpio/aspeed.h> 10 #include <linux/gpio/driver.h> 25 * These two headers aren't meant to be used by GPIO drivers. We need 30 #include <linux/gpio/consumer.h> 75 * represents disabled debouncing for the GPIO. Any other value for an element 109 * line even when the GPIO is configured as an output. Since 223 void (*reg_bit_set)(struct aspeed_gpio *gpio, unsigned int offset, 225 bool (*reg_bit_get)(struct aspeed_gpio *gpio, unsigned int offset, 227 int (*reg_bank_get)(struct aspeed_gpio *gpio, unsigned int offset, 229 void (*privilege_ctrl)(struct aspeed_gpio *gpio, unsigned int offset, int owner); [all …]
|
H A D | gpio-regmap.c | 3 * regmap based generic GPIO driver 17 #include <linux/gpio/driver.h> 18 #include <linux/gpio/regmap.h> 33 int (*reg_mask_xlate)(struct gpio_regmap *gpio, unsigned int base, 48 static int gpio_regmap_simple_xlate(struct gpio_regmap *gpio, in gpio_regmap_simple_xlate() argument 52 unsigned int line = offset % gpio->ngpio_per_reg; in gpio_regmap_simple_xlate() 53 unsigned int stride = offset / gpio->ngpio_per_reg; in gpio_regmap_simple_xlate() 55 *reg = base + stride * gpio->reg_stride; in gpio_regmap_simple_xlate() 63 struct gpio_regmap *gpio = gpiochip_get_data(chip); in gpio_regmap_get() local 68 if (gpio->reg_dat_base) in gpio_regmap_get() [all …]
|
H A D | gpio-zynq.c | 3 * Xilinx Zynq GPIO device driver 10 #include <linux/gpio/driver.h> 20 #define DRIVER_NAME "zynq-gpio" 63 /* Register offsets for the GPIO device */ 96 /* GPIO upper 16 bit mask */ 117 * struct zynq_gpio - gpio device private data structure 119 * @base_addr: base address of the GPIO device 121 * @irq: interrupt for the GPIO device 137 * struct zynq_platform_data - zynq gpio platform data structure 138 * @label: string to store in gpio->label [all …]
|
H A D | gpio-npcm-sgpio.c | 3 * Nuvoton NPCM Serial GPIO Driver 10 #include <linux/gpio/driver.h> 137 static void __iomem *bank_reg(struct npcm_sgpio *gpio, in bank_reg() argument 143 return gpio->base + bank->rdata_reg; in bank_reg() 145 return gpio->base + bank->wdata_reg; in bank_reg() 147 return gpio->base + bank->event_config; in bank_reg() 149 return gpio->base + bank->event_status; in bank_reg() 152 dev_WARN(gpio->chip.parent, "Getting here is an error condition"); in bank_reg() 165 struct npcm_sgpio **gpio, in npcm_sgpio_irqd_to_data() argument 174 *gpio = internal; in npcm_sgpio_irqd_to_data() [all …]
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | qcom,pmic-gpio.yaml | 4 $id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml# 7 title: Qualcomm PMIC GPIO block 13 This binding describes the GPIO block(s) found in the 8xxx series of 20 - qcom,pm2250-gpio 21 - qcom,pm660-gpio 22 - qcom,pm660l-gpio 23 - qcom,pm6125-gpio 24 - qcom,pm6150-gpio 25 - qcom,pm6150l-gpio 26 - qcom,pm6350-gpio [all …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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, led, gpio [all …]
|
H A 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/drivers/gpu/drm/amd/display/dc/gpio/ |
H A D | gpio_base.c | 53 struct gpio *gpio, in dal_gpio_open() argument 56 return dal_gpio_open_ex(gpio, mode); in dal_gpio_open() 60 struct gpio *gpio, in dal_gpio_open_ex() argument 63 if (gpio->pin) { in dal_gpio_open_ex() 68 // No action if allocation failed during gpio construct in dal_gpio_open_ex() 69 if (!gpio->hw_container.ddc) { in dal_gpio_open_ex() 73 gpio->mode = mode; in dal_gpio_open_ex() 75 return dal_gpio_service_open(gpio); in dal_gpio_open_ex() 79 const struct gpio *gpio, in dal_gpio_get_value() argument 82 if (!gpio->pin) { in dal_gpio_get_value() [all …]
|
/linux/arch/arm/boot/dts/samsung/ |
H A D | exynos5410-pinctrl.dtsi | 12 gpa0: gpa0-gpio-bank { 13 gpio-controller; 14 #gpio-cells = <2>; 20 gpa1: gpa1-gpio-bank { 21 gpio-controller; 22 #gpio-cells = <2>; 28 gpa2: gpa2-gpio-bank { 29 gpio-controller; 30 #gpio-cells = <2>; 36 gpb0: gpb0-gpio-bank { [all …]
|
/linux/arch/arc/boot/dts/ |
H A 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 …]
|
H A 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 …]
|
/linux/Documentation/driver-api/gpio/ |
H A 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/Documentation/admin-guide/gpio/ |
H A D | gpio-sim.rst | 3 Configfs GPIO Simulator 6 The configfs GPIO Simulator (gpio-sim) provides a way to create simulated GPIO 8 using the standard GPIO character device interface as well as manipulated 14 The gpio-sim module registers a configfs subsystem called ``'gpio-sim'``. For 21 **Group:** ``/config/gpio-sim`` 23 This is the top directory of the gpio-sim configfs tree. 25 **Group:** ``/config/gpio-sim/gpio-device`` 27 **Attribute:** ``/config/gpio-sim/gpio-device/dev_name`` 29 **Attribute:** ``/config/gpio-sim/gpio-device/live`` 31 This is a directory representing a GPIO platform device. The ``'dev_name'`` [all …]
|
/linux/Documentation/devicetree/bindings/gpio/ |
H A D | fsl-imx-gpio.yaml | 4 $id: http://devicetree.org/schemas/gpio/fsl-imx-gpio.yaml# 7 title: Freescale i.MX/MXC GPIO controller 18 - fsl,imx1-gpio 19 - fsl,imx21-gpio 20 - fsl,imx31-gpio 21 - fsl,imx35-gpio 22 - fsl,imx7d-gpio 25 - fsl,imx27-gpio 26 - const: fsl,imx21-gpio 28 - const: fsl,imx35-gpio [all …]
|
H A D | renesas,rcar-gpio.yaml | 4 $id: http://devicetree.org/schemas/gpio/renesas,rcar-gpio.yaml# 7 title: Renesas R-Car General-Purpose Input/Output Ports (GPIO) 17 - renesas,gpio-r8a7778 # R-Car M1 18 - renesas,gpio-r8a7779 # R-Car H1 19 - const: renesas,rcar-gen1-gpio # R-Car Gen1 23 - renesas,gpio-r8a7742 # RZ/G1H 24 - renesas,gpio-r8a7743 # RZ/G1M 25 - renesas,gpio-r8a7744 # RZ/G1N 26 - renesas,gpio-r8a7745 # RZ/G1E 27 - renesas,gpio-r8a77470 # RZ/G1C [all …]
|
H A 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 …]
|
H A D | gpio-ep9301.yaml | 4 $id: http://devicetree.org/schemas/gpio/gpio-ep9301.yaml# 7 title: EP93xx GPIO controller 17 - const: cirrus,ep9301-gpio 20 - cirrus,ep9302-gpio 21 - cirrus,ep9307-gpio 22 - cirrus,ep9312-gpio 23 - cirrus,ep9315-gpio 24 - const: cirrus,ep9301-gpio 40 gpio-controller: true 42 gpio-ranges: true [all …]
|
/linux/drivers/gpu/drm/amd/display/include/ |
H A 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/arch/mips/include/asm/mach-au1x00/ |
H A 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/arch/arm64/boot/dts/tesla/ |
H A D | fsd-pinctrl.dtsi | 14 gpf0: gpf0-gpio-bank { 15 gpio-controller; 16 #gpio-cells = <2>; 22 gpf1: gpf1-gpio-bank { 23 gpio-controller; 24 #gpio-cells = <2>; 30 gpf6: gpf6-gpio-bank { 31 gpio-controller; 32 #gpio-cells = <2>; 38 gpf4: gpf4-gpio-bank { [all …]
|
/linux/drivers/ssb/ |
H A 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 …]
|