| /OK3568_Linux_fs/u-boot/drivers/i2c/muxes/ |
| H A D | i2c-mux-gpio.c | 8 * SPDX-License-Identifier: GPL-2.0+ 12 #include <asm-generic/gpio.h> 23 * struct i2c_mux_gpio_priv - private data for i2c mux gpio 27 * @gpios: the mux-gpios array 28 * @n_gpios: num of gpios in mux-gpios 29 * @idle: the value of idle-state 34 struct gpio_desc *gpios; member 46 for (i = 0; i < priv->n_gpios; i++) { in i2c_mux_gpio_select() 47 ret = dm_gpio_set_value(&priv->gpios[i], (channel >> i) & 1); in i2c_mux_gpio_select() 61 for (i = 0; i < priv->n_gpios; i++) { in i2c_mux_gpio_deselect() [all …]
|
| H A D | max96745.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 #include <asm-generic/gpio.h> 20 static int max96745_select(struct udevice *mux, struct udevice *bus, in max96745_select() argument 23 struct max96745_priv *priv = dev_get_priv(mux); in max96745_select() 25 if (!priv->idle_disc) in max96745_select() 29 dm_i2c_reg_clrset(mux, 0x0086, DIS_REM_CC, in max96745_select() 32 dm_i2c_reg_clrset(mux, 0x0076, DIS_REM_CC, in max96745_select() 38 static int max96745_deselect(struct udevice *mux, struct udevice *bus, in max96745_deselect() argument 41 struct max96745_priv *priv = dev_get_priv(mux); in max96745_deselect() 43 if (!priv->idle_disc) in max96745_deselect() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/mux/ |
| H A D | gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * GPIO-controlled multiplexer driver 13 #include <linux/mux/driver.h> 19 struct gpio_descs *gpios; member 22 static int mux_gpio_set(struct mux_control *mux, int state) in mux_gpio_set() argument 24 struct mux_gpio *mux_gpio = mux_chip_priv(mux->chip); in mux_gpio_set() 29 gpiod_set_array_value_cansleep(mux_gpio->gpios->ndescs, in mux_gpio_set() 30 mux_gpio->gpios->desc, in mux_gpio_set() 31 mux_gpio->gpios->info, values); in mux_gpio_set() 41 { .compatible = "gpio-mux", }, [all …]
|
| /OK3568_Linux_fs/kernel/drivers/i2c/muxes/ |
| H A D | i2c-mux-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/i2c-mux.h> 10 #include <linux/platform_data/i2c-mux-gpio.h> 22 struct gpio_desc **gpios; member 25 static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigned val) in i2c_mux_gpio_set() argument 31 gpiod_set_array_value_cansleep(mux->ngpios, mux->gpios, NULL, values); in i2c_mux_gpio_set() 36 struct gpiomux *mux = i2c_mux_priv(muxc); in i2c_mux_gpio_select() local 38 i2c_mux_gpio_set(mux, chan); in i2c_mux_gpio_select() 45 struct gpiomux *mux = i2c_mux_priv(muxc); in i2c_mux_gpio_deselect() local 47 i2c_mux_gpio_set(mux, mux->data.idle); in i2c_mux_gpio_deselect() [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/i2c/ |
| H A D | i2c-mux-gpio.txt | 1 GPIO-based I2C Bus Mux 3 This binding describes an I2C bus multiplexer that uses GPIOs to 6 +-----+ +-----+ 8 +------------+ +-----+ +-----+ 10 | | /--------+--------+ 11 | +------+ | +------+ child bus A, on GPIO value set to 0 12 | | I2C |-|--| Mux | 13 | +------+ | +--+---+ child bus B, on GPIO value set to 1 14 | | | \----------+--------+--------+ 15 | +------+ | | | | | [all …]
|
| H A D | i2c-mux-gpmux.txt | 1 General Purpose I2C Bus Mux 3 This binding describes an I2C bus multiplexer that uses a mux controller 4 from the mux subsystem to route the I2C signals. 6 .-----. .-----. 8 .------------. '-----' '-----' 10 | | .--------+--------' 11 | .------. | .------+ child bus A, on MUX value set to 0 12 | | I2C |-|--| Mux | 13 | '------' | '--+---+ child bus B, on MUX value set to 1 14 | .------. | | '----------+--------+--------. [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm/boot/dts/ |
| H A D | at91-tse850-3.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * at91-tse850-3.dts - Device Tree file for the Axentia TSE-850 3.0 board 9 /dts-v1/; 10 #include <dt-bindings/pwm/pwm.h> 11 #include "at91-linea.dtsi" 14 model = "Axentia TSE-850 3.0"; 19 compatible = "fixed-clock"; 21 #clock-cells = <0>; 22 clock-frequency = <16000000>; 23 clock-output-names = "sck"; [all …]
|
| H A D | bcm47094-linksys-panamera.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 6 /dts-v1/; 9 #include "bcm5301x-nand-cs0-bch8.dtsi" 25 gpio-keys { 26 compatible = "gpio-keys"; 31 gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; 37 gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>; 43 gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>; 48 compatible = "gpio-leds"; 52 gpios = <&chipcommon 22 GPIO_ACTIVE_LOW>; [all …]
|
| H A D | qcom-ipq8064-rb3011.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 #include "qcom-ipq8064.dtsi" 3 #include <dt-bindings/input/input.h> 6 model = "MikroTik RB3011UiAS-RM"; 13 mdio-gpio0 = &mdio0; 14 mdio-gpio1 = &mdio1; 19 stdout-path = "serial0:115200n8"; 27 mdio0: mdio-0 { 29 compatible = "virtual,mdio-gpio"; 30 gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH>, [all …]
|
| H A D | vf610-zii-scu4-aib.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 // Copyright (C) 2016-2018 Zodiac Inflight Innovations 5 /dts-v1/; 10 compatible = "zii,vf610scu4-aib", "zii,vf610dev", "fsl,vf610"; 13 stdout-path = &uart0; 21 gpio-leds { 22 compatible = "gpio-leds"; 23 pinctrl-0 = <&pinctrl_leds_debug>; 24 pinctrl-names = "default"; 28 gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>; [all …]
|
| H A D | aspeed-bmc-lenovo-hr630.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * Copyright (C) 2019-present Lenovo 8 /dts-v1/; 10 #include "aspeed-g5.dtsi" 11 #include <dt-bindings/gpio/aspeed-gpio.h> 15 compatible = "lenovo,hr630-bmc", "aspeed,ast2500"; 29 stdout-path = &uart5; 38 reserved-memory { 39 #address-cells = <1>; 40 #size-cells = <1>; [all …]
|
| H A D | imx6qdl-nitrogen6_max.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR X11 5 #include <dt-bindings/gpio/gpio.h> 6 #include <dt-bindings/input/input.h> 10 stdout-path = &uart2; 19 compatible = "simple-bus"; 20 #address-cells = <1>; 21 #size-cells = <0>; 24 compatible = "regulator-fixed"; 26 regulator-name = "1P8V"; 27 regulator-min-microvolt = <1800000>; [all …]
|
| H A D | zynq-zc702.dts | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2011 - 2014 Xilinx 6 /dts-v1/; 7 #include "zynq-7000.dtsi" 11 compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000"; 27 stdout-path = "serial0:115200n8"; 30 gpio-keys { 31 compatible = "gpio-keys"; 35 gpios = <&gpio0 12 0>; 37 wakeup-source; [all …]
|
| H A D | mt7629-rfb.dts | 1 // SPDX-License-Identifier: GPL-2.0 7 /dts-v1/; 8 #include <dt-bindings/input/input.h> 13 compatible = "mediatek,mt7629-rfb", "mediatek,mt7629"; 20 stdout-path = "serial0:115200n8"; 23 gpio-keys { 24 compatible = "gpio-keys"; 29 gpios = <&pio 60 GPIO_ACTIVE_LOW>; 35 gpios = <&pio 58 GPIO_ACTIVE_LOW>; 44 reg_3p3v: regulator-3p3v { [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mux/ |
| H A D | gpio-mux.txt | 1 GPIO-based multiplexer controller bindings 7 - compatible : "gpio-mux" 8 - mux-gpios : list of gpios used to control the multiplexer, least 10 - #mux-control-cells : <0> 11 * Standard mux-controller bindings as decribed in mux-controller.txt 14 - idle-state : if present, the state the mux will have when idle. The 23 mux: mux-controller { 24 compatible = "gpio-mux"; 25 #mux-control-cells = <0>; 27 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>, [all …]
|
| H A D | mux-controller.txt | 4 A multiplexer (or mux) controller will have one, or several, consumer devices 5 that uses the mux controller. Thus, a mux controller can possibly control 7 multiplexer needed by each consumer, but a single mux controller can of course 10 A mux controller provides a number of states to its consumers, and the state 11 space is a simple zero-based enumeration. I.e. 0-1 for a 2-way multiplexer, 12 0-7 for an 8-way multiplexer, etc. 16 --------- 18 Mux controller consumers should specify a list of mux controllers that they 19 want to use with a property containing a 'mux-ctrl-list': 21 mux-ctrl-list ::= <single-mux-ctrl> [mux-ctrl-list] [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/mdio/ |
| H A D | mdio-mux-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/mdio-mux.h> 18 struct gpio_descs *gpios; member 33 gpiod_set_array_value_cansleep(s->gpios->ndescs, s->gpios->desc, in mdio_mux_gpio_switch_fn() 34 s->gpios->info, values); in mdio_mux_gpio_switch_fn() 42 struct gpio_descs *gpios; in mdio_mux_gpio_probe() local 45 gpios = devm_gpiod_get_array(&pdev->dev, NULL, GPIOD_OUT_LOW); in mdio_mux_gpio_probe() 46 if (IS_ERR(gpios)) in mdio_mux_gpio_probe() 47 return PTR_ERR(gpios); in mdio_mux_gpio_probe() 49 s = devm_kzalloc(&pdev->dev, sizeof(*s), GFP_KERNEL); in mdio_mux_gpio_probe() [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/mediatek/ |
| H A D | mt7622-bananapi-bpi-r64.dts | 5 * SPDX-License-Identifier: (GPL-2.0 OR MIT) 8 /dts-v1/; 9 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/gpio/gpio.h> 16 model = "Bananapi BPI-R64"; 17 compatible = "bananapi,bpi-r64", "mediatek,mt7622"; 24 stdout-path = "serial0:115200n8"; 30 proc-supply = <&mt6380_vcpu_reg>; 31 sram-supply = <&mt6380_vm_reg>; 35 proc-supply = <&mt6380_vcpu_reg>; [all …]
|
| H A D | mt7622-rfb1.dts | 6 * SPDX-License-Identifier: (GPL-2.0 OR MIT) 9 /dts-v1/; 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/gpio/gpio.h> 18 compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622"; 25 stdout-path = "serial0:115200n8"; 31 proc-supply = <&mt6380_vcpu_reg>; 32 sram-supply = <&mt6380_vm_reg>; 36 proc-supply = <&mt6380_vcpu_reg>; 37 sram-supply = <&mt6380_vm_reg>; [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/fsi/ |
| H A D | fsi-master-aspeed.txt | 1 Device-tree bindings for AST2600 FSI master 2 ------------------------------------------- 8 - compatible: "aspeed,ast2600-fsi-master" 9 - reg: base address and length 10 - clocks: phandle and clock number 11 - interrupts: platform dependent interrupt description 12 - pinctrl-0: phandle to pinctrl node 13 - pinctrl-names: pinctrl state 16 - cfam-reset-gpios: GPIO for CFAM reset 18 - fsi-routing-gpios: GPIO for setting the FSI mux (internal or cabled) [all …]
|
| H A D | fsi-master-gpio.txt | 1 Device-tree bindings for gpio-based FSI master driver 2 ----------------------------------------------------- 5 - compatible = "fsi-master-gpio"; 6 - clock-gpios = <gpio-descriptor>; : GPIO for FSI clock 7 - data-gpios = <gpio-descriptor>; : GPIO for FSI data signal 10 - enable-gpios = <gpio-descriptor>; : GPIO for enable signal 11 - trans-gpios = <gpio-descriptor>; : GPIO for voltage translator enable 12 - mux-gpios = <gpio-descriptor>; : GPIO for pin multiplexing with other 14 - no-gpio-delays; : Don't add extra delays between GPIO 21 fsi-master { [all …]
|
| H A D | fsi-master-ast-cf.txt | 1 Device-tree bindings for ColdFire offloaded gpio-based FSI master driver 2 ------------------------------------------------------------------------ 5 - compatible = 6 "aspeed,ast2400-cf-fsi-master" for an AST2400 based system 8 "aspeed,ast2500-cf-fsi-master" for an AST2500 based system 10 - clock-gpios = <gpio-descriptor>; : GPIO for FSI clock 11 - data-gpios = <gpio-descriptor>; : GPIO for FSI data signal 12 - enable-gpios = <gpio-descriptor>; : GPIO for enable signal 13 - trans-gpios = <gpio-descriptor>; : GPIO for voltage translator enable 14 - mux-gpios = <gpio-descriptor>; : GPIO for pin multiplexing with other [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/display/msm/ |
| H A D | hdmi.txt | 4 - compatible: one of the following 5 * "qcom,hdmi-tx-8996" 6 * "qcom,hdmi-tx-8994" 7 * "qcom,hdmi-tx-8084" 8 * "qcom,hdmi-tx-8974" 9 * "qcom,hdmi-tx-8660" 10 * "qcom,hdmi-tx-8960" 11 - reg: Physical base address and length of the controller's registers 12 - reg-names: "core_physical" 13 - interrupts: The interrupt signal from the hdmi block. [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/dts/ |
| H A D | zynq-zc702.dts | 4 * Copyright (C) 2011 - 2015 Xilinx 7 * SPDX-License-Identifier: GPL-2.0+ 9 /dts-v1/; 10 #include "zynq-7000.dtsi" 14 compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000"; 31 stdout-path = "serial0:115200n8"; 34 gpio-keys { 35 compatible = "gpio-keys"; 36 #address-cells = <1>; 37 #size-cells = <0>; [all …]
|
| /OK3568_Linux_fs/kernel/drivers/extcon/ |
| H A D | extcon-intel-int3496.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include <linux/extcon-provider.h> 49 { "id-gpios", &id_gpios, 1, ACPI_GPIO_QUIRK_NO_IO_RESTRICTION }, 50 { "vbus-gpios", &vbus_gpios, 1 }, 51 { "mux-gpios", &mux_gpios, 1 }, 59 int id = gpiod_get_value_cansleep(data->gpio_usb_id); in int3496_do_usb_id() 62 dev_dbg(data->dev, "Connected %s cable\n", id ? "PERIPHERAL" : "HOST"); in int3496_do_usb_id() 65 * Peripheral: set USB mux to peripheral and disable VBUS in int3496_do_usb_id() 66 * Host: set USB mux to host and enable VBUS in int3496_do_usb_id() 68 if (!IS_ERR(data->gpio_usb_mux)) in int3496_do_usb_id() [all …]
|