| /linux/sound/soc/ |
| H A D | soc-jack.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // soc-jack.c -- ALSA SoC jack handling 20 * snd_soc_jack_report - Report the current status for a jack 39 if (!jack || !jack->jack) in snd_soc_jack_report() 43 dapm = &jack->card->dapm; in snd_soc_jack_report() 45 mutex_lock(&jack->mutex); in snd_soc_jack_report() 47 jack->status &= ~mask; in snd_soc_jack_report() 48 jack->status |= status & mask; in snd_soc_jack_report() 52 list_for_each_entry(pin, &jack->pins, list) { in snd_soc_jack_report() 53 int enable = pin->mask & jack->status; in snd_soc_jack_report() [all …]
|
| /linux/Documentation/devicetree/bindings/serial/ |
| H A D | fsl-mxs-auart.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/serial/fsl-mxs-auart.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Fabio Estevam <festevam@gmail.com> 13 - $ref: serial.yaml# 18 - const: fsl,imx23-auart 19 - const: alphascale,asm9260-auart 20 - items: 21 - enum: [all …]
|
| H A D | ingenic,uart.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Paul Cercueil <paul@crapouillou.net> 13 - $ref: serial.yaml# 17 pattern: "^serial@[0-9a-f]+$" 21 - enum: 22 - ingenic,jz4740-uart 23 - ingenic,jz4750-uart 24 - ingenic,jz4760-uart [all …]
|
| /linux/Documentation/devicetree/bindings/soc/tegra/ |
| H A D | nvidia,nvec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 26 - description: divider clock 27 - description: fast clock 29 clock-names: 32 - const: div-clk 33 - const: fast-clk [all …]
|
| /linux/drivers/extcon/ |
| H A D | extcon-intel-int3496.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include <linux/devm-helpers.h> 15 #include <linux/extcon-provider.h> 53 { "id-gpios", &id_gpios, 1, ACPI_GPIO_QUIRK_NO_IO_RESTRICTION }, 54 { "vbus-gpios", &vbus_gpios, 1 }, 55 { "mux-gpios", &mux_gpios, 1 }, 63 if (IS_ERR_OR_NULL(data->vbus_boost)) in int3496_set_vbus_boost() 66 if (data->vbus_boost_enabled == enable) in int3496_set_vbus_boost() 70 ret = regulator_enable(data->vbus_boost); in int3496_set_vbus_boost() 72 ret = regulator_disable(data->vbus_boost); in int3496_set_vbus_boost() [all …]
|
| /linux/drivers/gpio/ |
| H A D | gpiolib-legacy.c | 1 // SPDX-License-Identifier: GPL-2.0 25 * gpio_request_one - request a single GPIO with initial configuration 40 /* Compatibility: assume unavailable "valid" GPIOs will appear later */ in gpio_request_one() 43 return -EPROBE_DEFER; in gpio_request_one() 72 /* Compatibility: assume unavailable "valid" GPIOs will appear later */ in gpio_request() 75 return -EPROBE_DEFER; in gpio_request() 89 * devm_gpio_request_one - request a single GPIO with initial setup 90 * @dev: device to request for 108 return -ENOMEM; in devm_gpio_request_one()
|
| H A D | gpio-ich.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Intel ICH6-10, Series 5 and 6, Atom C2000 (Avoton/Rangeley) GPIO driver 19 * Each chunk of 32 GPIOs is manipulated via its own USE_SELx, IO_SELx, and 34 {0x00, 0x30, 0x40}, /* USE_SEL[1-3] offsets */ 35 {0x04, 0x34, 0x44}, /* IO_SEL[1-3] offsets */ 36 {0x0c, 0x38, 0x48}, /* LVL[1-3] offsets */ 54 #define ICHX_WRITE(val, reg, base_res) outl(val, (reg) + (base_res)->start) 55 #define ICHX_READ(reg, base_res) inl((reg) + (base_res)->start) 74 /* Some chipsets have quirks, let these use their own request/get */ 75 int (*request)(struct gpio_chip *chip, unsigned int offset); member [all …]
|
| H A D | gpio-stp-xway.c | 1 // SPDX-License-Identifier: GPL-2.0-only 85 u8 groups; /* we can drive 1-3 groups of 8bit each */ 95 * xway_stp_get() - gpio_chip->get - get gpios. 105 return (xway_stp_r32(chip->virt, XWAY_STP_CPU0) & BIT(gpio)); in xway_stp_get() 109 * xway_stp_set() - gpio_chip->set - set gpios. 121 chip->shadow |= BIT(gpio); in xway_stp_set() 123 chip->shadow &= ~BIT(gpio); in xway_stp_set() 124 xway_stp_w32(chip->virt, chip->shadow, XWAY_STP_CPU0); in xway_stp_set() 125 if (!chip->reserved) in xway_stp_set() 126 xway_stp_w32_mask(chip->virt, 0, XWAY_STP_CON_SWU, XWAY_STP_CON0); in xway_stp_set() [all …]
|
| H A D | gpiolib.c | 1 // SPDX-License-Identifier: GPL-2.0 37 #include "gpiolib-acpi.h" 38 #include "gpiolib-cdev.h" 39 #include "gpiolib-of.h" 40 #include "gpiolib-swnode.h" 41 #include "gpiolib-sysfs.h" 49 * The GPIO programming interface allows for inlining speed-critical 50 * get/set operations for common cases, so that access to SOC-integrated 51 * GPIOs can sometimes cost only an instruction or two per bit. 54 /* Device and char device-related information */ [all …]
|
| /linux/drivers/watchdog/ |
| H A D | mena21_wdt.c | 1 // SPDX-License-Identifier: GPL-2.0+ 34 struct gpio_desc *gpios[NUM_GPIOS]; member 46 reset |= gpiod_get_value(drv->gpios[GPIO_WD_RST0]) ? (1 << 0) : 0; in a21_wdt_get_bootstatus() 47 reset |= gpiod_get_value(drv->gpios[GPIO_WD_RST1]) ? (1 << 1) : 0; in a21_wdt_get_bootstatus() 48 reset |= gpiod_get_value(drv->gpios[GPIO_WD_RST2]) ? (1 << 2) : 0; in a21_wdt_get_bootstatus() 57 gpiod_set_value(drv->gpios[GPIO_WD_ENAB], 1); in a21_wdt_start() 66 gpiod_set_value(drv->gpios[GPIO_WD_ENAB], 0); in a21_wdt_stop() 75 gpiod_set_value(drv->gpios[GPIO_WD_TRIG], 0); in a21_wdt_ping() 77 gpiod_set_value(drv->gpios[GPIO_WD_TRIG], 1); in a21_wdt_ping() 88 dev_err(wdt->parent, "Only 1 and 30 allowed as timeout\n"); in a21_wdt_set_timeout() [all …]
|
| /linux/Documentation/devicetree/bindings/power/reset/ |
| H A D | gpio-restart.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/power/reset/gpio-restart.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Sebastian Reichel <sre@kernel.org> 16 request the given gpio line and install a restart handler. If the optional properties 17 'open-source' is not found, the GPIO line will be driven in the inactive state. Otherwise its 22 This will also cause an inactive->active edge condition, triggering positive edge triggered 23 reset. After a delay specified by active-delay, the GPIO is set to inactive, thus causing an 24 active->inactive edge, triggering negative edge triggered reset. After a delay specified by [all …]
|
| /linux/Documentation/devicetree/bindings/net/can/ |
| H A D | fsl,flexcan.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 Flexcan CAN controller on Freescale's ARM and PowerPC system-on-a-chip (SOC). 11 - Marc Kleine-Budde <mkl@pengutronix.de> 16 - enum: 17 - fsl,imx95-flexcan 18 - fsl,imx93-flexcan 19 - fsl,imx8qm-flexcan 20 - fsl,imx8mp-flexcan [all …]
|
| /linux/drivers/pinctrl/renesas/ |
| H A D | gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * Copyright (C) 2009 - 2012 Paul Mundt 40 return chip->pfc; in gpio_to_pfc() 47 int idx = sh_pfc_get_pin_index(chip->pfc, offset); in gpio_get_data_reg() 48 struct sh_pfc_gpio_pin *gpio_pin = &chip->pins[idx]; in gpio_get_data_reg() 50 *reg = &chip->regs[gpio_pin->dreg]; in gpio_get_data_reg() 51 *bit = gpio_pin->dbit; in gpio_get_data_reg() 57 phys_addr_t address = dreg->reg; in gpio_read_data_reg() 58 void __iomem *mem = address - chip->mem->phys + chip->mem->virt; in gpio_read_data_reg() 60 return sh_pfc_read_raw_reg(mem, dreg->reg_width); in gpio_read_data_reg() [all …]
|
| /linux/arch/arm/mach-pxa/ |
| H A D | am200epd.c | 2 * am200epd.c -- Platform device for AM200 EPD kit 12 * This work was made possible by help and equipment support from E-Ink 16 * on the AM200 EPD prototype kit/development kit with an E-Ink 800x600 35 #include <linux/platform_data/video-pxafb.h> 101 static int gpios[] = { LED_GPIO_PIN , STDBY_GPIO_PIN , RST_GPIO_PIN, variable 110 for (i = 0; i < ARRAY_SIZE(gpios); i++) { in am200_init_gpio_regs() 111 err = gpio_request(gpios[i], gpio_names[i]); in am200_init_gpio_regs() 113 dev_err(&am200_device->dev, "failed requesting " in am200_init_gpio_regs() 131 while (--i >= 0) in am200_init_gpio_regs() 132 gpio_free(gpios[i]); in am200_init_gpio_regs() [all …]
|
| H A D | am300epd.c | 2 * am300epd.c -- Platform device for AM300 EPD kit 10 * This work was made possible by help and equipment support from E-Ink 14 * on the AM300 EPD prototype kit/development kit with an E-Ink 800x600 32 #include "mfp-pxa25x.h" 34 #include <linux/platform_data/video-pxafb.h> 56 /* this is the 16-bit hdb bus 58-73 */ 94 static int gpios[] = { PWR_GPIO_PIN, CFG_GPIO_PIN, RDY_GPIO_PIN, DC_GPIO_PIN, variable 103 wait_event(par->waitq, gpio_get_value(RDY_GPIO_PIN)); in am300_wait_event() 113 for (i = 0; i < ARRAY_SIZE(gpios); i++) { in am300_init_gpio_regs() 114 err = gpio_request(gpios[i], gpio_names[i]); in am300_init_gpio_regs() [all …]
|
| /linux/drivers/hsi/clients/ |
| H A D | nokia-modem.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * nokia-modem.c 32 struct nokia_modem_gpio *gpios; member 45 dev_info(modem->device, "CMT rst line change detected\n"); in do_nokia_modem_rst_ind_tasklet() 47 if (modem->ssi_protocol) in do_nokia_modem_rst_ind_tasklet() 48 ssip_reset_event(modem->ssi_protocol); in do_nokia_modem_rst_ind_tasklet() 55 tasklet_schedule(&modem->nokia_modem_rst_ind_tasklet); in nokia_modem_rst_ind_isr() 65 for (i = 0; i < modem->gpio_amount; i++) { in nokia_modem_gpio_unexport() 66 sysfs_remove_link(&dev->kobj, modem->gpios[i].name); in nokia_modem_gpio_unexport() 67 gpiod_unexport(modem->gpios[i].gpio); in nokia_modem_gpio_unexport() [all …]
|
| /linux/arch/mips/include/asm/mach-au1x00/ |
| H A D | gpio-au1000.h | 12 #include <asm/mach-au1x00/au1000.h> 15 * GPIO0-31 from GPIO1 block, GPIO200-215 from GPIO2 block. 22 #define ALCHEMY_GPIO1_MAX (ALCHEMY_GPIO1_BASE + ALCHEMY_GPIO1_NUM - 1) 23 #define ALCHEMY_GPIO2_MAX (ALCHEMY_GPIO2_BASE + ALCHEMY_GPIO2_NUM - 1) 47 return MAKE_IRQ(1, gpio - ALCHEMY_GPIO1_BASE); in au1000_gpio1_to_irq() 52 return -ENXIO; in au1000_gpio2_to_irq() 58 return ALCHEMY_GPIO1_BASE + (irq - AU1000_GPIO0_INT) + 0; in au1000_irq_to_gpio() 60 return -ENXIO; in au1000_irq_to_gpio() 65 gpio -= ALCHEMY_GPIO1_BASE; in au1500_gpio1_to_irq() 73 return -ENXIO; in au1500_gpio1_to_irq() [all …]
|
| /linux/drivers/input/misc/ |
| H A D | rotary_encoder.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 * See file:Documentation/input/devices/rotary-encoder.rst for more information 26 #define DRV_NAME "rotary-encoder" 46 struct gpio_descs *gpios; member 51 signed char dir; /* 1 - clockwise, -1 - CCW */ 61 for (i = 0; i < encoder->gpios->ndescs; ++i) { in rotary_encoder_get_state() 62 int val = gpiod_get_value_cansleep(encoder->gpios->desc[i]); in rotary_encoder_get_state() 65 if (encoder->encoding == ROTENC_GRAY && ret & 1) in rotary_encoder_get_state() 76 if (encoder->relative_axis) { in rotary_encoder_report_event() 77 input_report_rel(encoder->input, in rotary_encoder_report_event() [all …]
|
| /linux/arch/arm/boot/dts/allwinner/ |
| H A D | sun5i-r8-chip.dts | 5 * Maxime Ripard <maxime.ripard@free-electrons.com> 7 * This file is dual-licensed: you can use it either under the terms 46 /dts-v1/; 47 #include "sun5i-r8.dtsi" 48 #include "sunxi-common-regulators.dtsi" 50 #include <dt-bindings/gpio/gpio.h> 51 #include <dt-bindings/interrupt-controller/irq.h> 55 compatible = "nextthing,chip", "allwinner,sun5i-r8", "allwinner,sun5i-a13"; 67 stdout-path = "serial0:115200n8"; 71 compatible = "gpio-leds"; [all …]
|
| H A D | sun5i-gr8-chip-pro.dts | 5 * Maxime Ripard <maxime.ripard@free-electrons.com> 7 * This file is dual-licensed: you can use it either under the terms 46 /dts-v1/; 47 #include "sun5i-gr8.dtsi" 48 #include "sunxi-common-regulators.dtsi" 50 #include <dt-bindings/gpio/gpio.h> 51 #include <dt-bindings/input/input.h> 52 #include <dt-bindings/interrupt-controller/irq.h> 56 compatible = "nextthing,chip-pro", "nextthing,gr8"; 67 stdout-path = "serial0:115200n8"; [all …]
|
| /linux/Documentation/devicetree/bindings/display/tilcdc/ |
| H A D | panel.txt | 1 Device-Tree bindings for tilcdc DRM generic panel output driver 4 - compatible: value should be "ti,tilcdc,panel". 5 - panel-info: configuration info to configure LCDC correctly for the panel 6 - ac-bias: AC Bias Pin Frequency 7 - ac-bias-intrpt: AC Bias Pin Transitions per Interrupt 8 - dma-burst-sz: DMA burst size 9 - bpp: Bits per pixel 10 - fdd: FIFO DMA Request Delay 11 - sync-edge: Horizontal and Vertical Sync Edge: 0=rising 1=falling 12 - sync-ctrl: Horizontal and Vertical Sync: Control: 0=ignore [all …]
|
| /linux/Documentation/driver-api/hte/ |
| H A D | tegra-hte.rst | 1 .. SPDX-License-Identifier: GPL-2.0+ 7 ----------- 15 -------- 19 instance supports timestamping GPIOs in real time as it is tightly coupled with 26 consumer can request an GPIO line. 31 specified during IOCTL calls. Refer to ``tools/gpio/gpio-event-mon.c``, which 35 ----------------------------------------- 39 provides an example of how a consumer can request an IRQ line. Since it is a 40 one-to-one mapping with IRQ GTE provider, consumers can simply specify the IRQ 45 ``drivers/hte/hte-tegra194.c``. The test driver [all …]
|
| /linux/Documentation/devicetree/bindings/mtd/ |
| H A D | raw-nand-chip.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mtd/raw-nand-chip.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Miquel Raynal <miquel.raynal@bootlin.com> 13 - $ref: nand-chip.yaml# 18 they request the ECC engine to correct {strength} bit errors per 21 The interpretation of these parameters is implementation-defined, so 28 pattern: "^nand@[a-f0-9]$" 32 Contains the chip-select IDs. [all …]
|
| /linux/sound/hda/codecs/side-codecs/ |
| H A D | cirrus_scodec_test.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // KUnit test for the Cirrus side-codec library. 52 return !!(gpio_priv->pin_state & BIT(offset)); in cirrus_scodec_test_gpio_get() 58 return -EOPNOTSUPP; in cirrus_scodec_test_gpio_direction_out() 64 return -EOPNOTSUPP; in cirrus_scodec_test_gpio_set() 74 return -EOPNOTSUPP; in cirrus_scodec_test_gpio_set_config() 83 .request [all...] |
| /linux/Documentation/hwmon/ |
| H A D | powr1220.rst | 19 ----------- 23 for output voltages and GPIOs. This driver implements the voltage 26 Voltages are sampled by a 12-bit ADC with a step size of 2 mV. 27 An in-line attenuator allows measurements from 0 to 6 V. The 53 The ADC readings are updated on request with a minimum period of 1s.
|