Home
last modified time | relevance | path

Searched +full:their +full:- +full:claim +full:- +full:gpios (Results 1 – 17 of 17) sorted by relevance

/openbmc/linux/Documentation/devicetree/bindings/i2c/
H A Di2c-arb-gpio-challenge.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/i2c/i2c-arb-gpio-challenge.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: GPIO-based I2C Arbitration Using a Challenge & Response Mechanism
10 - Doug Anderson <dianders@chromium.org>
11 - Peter Rosin <peda@axentia.se>
17 In many cases using GPIOs to arbitrate is not needed and a design can use the
18 standard I2C multi-master rules. Using GPIOs is generally useful in the case
29 All masters on the bus have a 'bus claim' line which is an output that the
[all …]
/openbmc/linux/drivers/i2c/muxes/
H A Di2c-arb-gpio-challenge.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * GPIO-based I2C Arbitration Using a Challenge & Response Mechanism
12 #include <linux/i2c-mux.h>
19 * struct i2c_arbitrator_data - Driver data for I2C arbitrator
21 * @our_gpio: GPIO descriptor we'll use to claim.
22 * @their_gpio: GPIO descriptor that the other side will use to claim.
24 * @wait_retry_us: we'll attempt another claim after this many microseconds.
38 * i2c_arbitrator_select - claim the I2C bus
40 * Use the GPIO-based signalling protocol; return -EBUSY if we fail.
47 /* Start a round of trying to claim the bus */ in i2c_arbitrator_select()
[all …]
/openbmc/u-boot/doc/
H A DREADME.i2c4 While I2C supports multi-master buses this is difficult to get right.
6 Clock-stretching and the arbitrary time that an I2C transaction can take
8 When one or more masters can be reset independently part-way through a
11 U-Boot provides a scheme based on two 'claim' GPIOs, one driven by the
18 Since U-Boot runs on the AP, the terminology used is 'our' claim GPIO,
19 meaning the AP's, and 'their' claim GPIO, meaning the EC's. This terminology
23 i2c-arb-gpio-challenge for the implementation.
26 each have a 'bus claim' line, which is an output that the other can see.
28 - AP_CLAIM: output from AP, signalling to the EC that the AP wants the bus
29 - EC_CLAIM: output from EC, signalling to the AP that the EC wants the bus
[all …]
/openbmc/u-boot/drivers/i2c/muxes/
H A Di2c-arb-gpio-challenge.c1 // SPDX-License-Identifier: GPL-2.0+
29 debug("%s: %s\n", __func__, mux->name); in i2c_arbitrator_deselect()
30 ret = dm_gpio_set_value(&priv->ap_claim, 0); in i2c_arbitrator_deselect()
31 udelay(priv->slew_delay_us); in i2c_arbitrator_deselect()
43 debug("%s: %s\n", __func__, mux->name); in i2c_arbitrator_select()
44 /* Start a round of trying to claim the bus */ in i2c_arbitrator_select()
50 /* Indicate that we want to claim the bus */ in i2c_arbitrator_select()
51 ret = dm_gpio_set_value(&priv->ap_claim, 1); in i2c_arbitrator_select()
54 udelay(priv->slew_delay_us); in i2c_arbitrator_select()
58 while (get_timer(start_retry) < priv->wait_retry_ms) { in i2c_arbitrator_select()
[all …]
/openbmc/linux/arch/arm/boot/dts/samsung/
H A Dexynos5250-snow-common.dtsi1 // SPDX-License-Identifier: GPL-2.0
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/clock/maxim,max77686.h>
10 #include <dt-bindings/interrupt-controller/irq.h>
11 #include <dt-bindings/input/input.h>
12 #include <dt-bindings/sound/samsung-i2s.h>
30 stdout-path = "serial3:115200n8";
33 gpio-keys {
34 compatible = "gpio-keys";
35 pinctrl-names = "default";
[all …]
/openbmc/linux/Documentation/driver-api/gpio/
H A Dlegacy.rst13 A "General Purpose Input/Output" (GPIO) is a flexible software-controlled
18 which GPIOs. Drivers can be written generically, so that board setup code
21 System-on-Chip (SOC) processors heavily rely on GPIOs. In some cases, every
22 non-dedicated pin can be configured as a GPIO; and most chips have at least
24 provide GPIOs; multifunction chips like power managers, and audio codecs
27 Most PC southbridges have a few dozen GPIO-capable pins (with only the BIOS
30 The exact capabilities of GPIOs vary between systems. Common options:
32 - Output values are writable (high=1, low=0). Some chips also have
34 value might be driven ... supporting "wire-OR" and similar schemes
37 - Input values are likewise readable (1, 0). Some chips support readback
[all …]
/openbmc/u-boot/arch/arm/dts/
H A Dimx6q-cm-fx6.dts6 * This file is dual-licensed: you can use it either under the terms
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 /dts-v1/;
45 #include <dt-bindings/gpio/gpio.h>
49 model = "CompuLab CM-FX6";
50 compatible = "compulab,cm-fx6", "fsl,imx6q";
57 compatible = "gpio-leds";
59 heartbeat-led {
61 gpios = <&gpio2 31 0>;
62 linux,default-trigger = "heartbeat";
[all …]
H A Dexynos5250-snow.dts12 /dts-v1/;
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/interrupt-controller/irq.h>
15 #include <dt-bindings/input/input.h>
51 stdout-path = "serial3:115200n8";
59 samsung,bl1-offset = <0x1400>;
60 samsung,bl2-offset = <0x3400>;
61 u-boot-memory = "/memory";
62 u-boot-offset = <0x3e00000 0x100000>;
67 #address-cells = <1>;
[all …]
/openbmc/linux/arch/arm/boot/dts/nxp/imx/
H A Dimx6q-cm-fx6.dts6 * This file is dual-licensed: you can use it either under the terms
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 /dts-v1/;
45 #include <dt-bindings/gpio/gpio.h>
46 #include <dt-bindings/sound/fsl-imx-audmux.h>
50 model = "CompuLab CM-FX6";
51 compatible = "compulab,cm-fx6", "fsl,imx6q";
59 compatible = "gpio-leds";
61 heartbeat-led {
63 gpios = <&gpio2 31 0>;
[all …]
/openbmc/linux/drivers/gpu/drm/i915/display/
H A Dintel_bios.h2 * Copyright © 2016-2019 Intel Corporation
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
64 * Note the VBT spec has AssertReset / DeassertReset swapped from their
216 /* GPIOs */
H A Dvlv_dsi.c18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
87 struct drm_encoder *encoder = &intel_dsi->base.base; in vlv_dsi_wait_for_fifo_empty()
88 struct drm_device *dev = encoder->dev; in vlv_dsi_wait_for_fifo_empty()
97 drm_err(&dev_priv->drm, "DPI FIFOs are not empty\n"); in vlv_dsi_wait_for_fifo_empty()
109 for (j = 0; j < min_t(u32, len - i, 4); j++) in write_data()
125 for (j = 0; j < min_t(u32, len - i, 4); j++) in read_data()
134 struct drm_device *dev = intel_dsi_host->intel_dsi->base.base.dev; in intel_dsi_host_transfer()
136 enum port port = intel_dsi_host->port; in intel_dsi_host_transfer()
149 if (msg->flags & MIPI_DSI_MSG_USE_LPM) { in intel_dsi_host_transfer()
165 drm_err(&dev_priv->drm, in intel_dsi_host_transfer()
[all …]
/openbmc/linux/drivers/hsi/
H A Dhsi_core.c1 // SPDX-License-Identifier: GPL-2.0-only
45 if (strcmp(dev_name(dev), driver->name) == 0) in hsi_bus_match()
62 kfree(cl->tx_cfg.channels); in hsi_client_release()
63 kfree(cl->rx_cfg.channels); in hsi_client_release()
77 cl->tx_cfg = info->tx_cfg; in hsi_new_client()
78 if (cl->tx_cfg.channels) { in hsi_new_client()
79 size = cl->tx_cfg.num_channels * sizeof(*cl->tx_cfg.channels); in hsi_new_client()
80 cl->tx_cfg.channels = kmemdup(info->tx_cfg.channels, size, in hsi_new_client()
82 if (!cl->tx_cfg.channels) in hsi_new_client()
86 cl->rx_cfg = info->rx_cfg; in hsi_new_client()
[all …]
/openbmc/linux/drivers/input/misc/
H A Dsoc_button_array.c1 // SPDX-License-Identifier: GPL-2.0-only
23 MODULE_PARM_DESC(use_low_level_irq, "Use low-level triggered IRQ instead of edge triggered");
52 * Some 2-in-1s which use the soc_button_array driver have this ugly issue in
53 * their DSDT where the _LID method modifies the irq-type settings of the GPIOs
57 * problematic because when re-enabling the irq, which happens whenever _LID
59 * irq-type to IRQ_TYPE_LEVEL_LOW. Where as the gpio-keys driver programs the
61 * To work around this we don't set gpio_keys_button.gpio on these 2-in-1s,
69 * Acer Switch 10 SW5-012. _LID method messes with home- and
70 * power-button GPIO IRQ settings. When (re-)enabling the irq
72 * ones, leading to an irq-type of IRQ_TYPE_LEVEL_LOW |
[all …]
H A Diqs7222.c1 // SPDX-License-Identifier: GPL-2.0-or-later
116 [IQS7222_REG_GRP_CYCLE] = "cycle-%d",
117 [IQS7222_REG_GRP_CHAN] = "channel-%d",
118 [IQS7222_REG_GRP_SLDR] = "slider-%d",
120 [IQS7222_REG_GRP_GPIO] = "gpio-%d",
150 .name = "event-pro
[all...]
/openbmc/qemu/hw/misc/macio/
H A Dmacio.c4 * Copyright (c) 2005-2007 Fabrice Bellard
20 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
32 #include "hw/qdev-properties.h"
44 * The mac-io has two interfaces to the ESCC. One is called "escc-legacy",
47 * The magic below creates memory aliases to spawn the escc-legacy device
50 * register layout, not their semantics.
56 SysBusDevice *sbd = SYS_BUS_DEVICE(&s->escc); in macio_escc_legacy_setup()
72 memory_region_init(escc_legacy, OBJECT(s), "escc-legacy", 256); in macio_escc_legacy_setup()
75 memory_region_init_alias(port, OBJECT(s), "escc-legacy-port", in macio_escc_legacy_setup()
81 memory_region_add_subregion(&s->bar, 0x12000, escc_legacy); in macio_escc_legacy_setup()
[all …]
/openbmc/linux/drivers/pinctrl/
H A Dcore.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2011-2012 ST-Ericsson SA
6 * Written on behalf of Linaro for ST-Ericsson
62 * pinctrl_provide_dummies() - indicate if pinctrl provides dummy state support
77 return pctldev->desc->name; in pinctrl_dev_get_name()
83 return dev_name(pctldev->dev); in pinctrl_dev_get_devname()
89 return pctldev->driver_data; in pinctrl_dev_get_drvdata()
94 * get_pinctrl_dev_from_devname() - look up pin controller device
110 if (!strcmp(dev_name(pctldev->dev), devname)) { in get_pinctrl_dev_from_devname()
129 if (device_match_of_node(pctldev->dev, np)) { in get_pinctrl_dev_from_of_node()
[all …]
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/subdev/fb/
H A Dramgk104.c17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
99 struct ramfuc_reg r_mr[16]; /* MR0 - MR8, MR15 */
149 for (i = 0; (data & 0x80000000) && i < ram->parts; addr += 0x1000, i++) { in gk104_ram_train()
150 if (ram->pmask & (1 << i)) in gk104_ram_train()
160 const u32 mcoef = ((--ram->P2 << 28) | (ram->N2 << 8) | ram->M2); in r1373f4_init()
161 const u32 rcoef = (( ram->P1 << 16) | (ram->N1 << 8) | ram->M1); in r1373f4_init()
162 const u32 runk0 = ram->fN1 << 16; in r1373f4_init()
163 const u32 runk1 = ram->fN1; in r1373f4_init()
165 if (ram->from == 2) { in r1373f4_init()
191 if (ram->mode == 2) { in r1373f4_init()
[all …]