/linux/drivers/mmc/core/ |
H A D | pwrseq_simple.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Simple MMC power sequence management 23 #include "pwrseq.h" 26 struct mmc_pwrseq pwrseq; member 34 #define to_pwrseq_simple(p) container_of(p, struct mmc_pwrseq_simple, pwrseq) 36 static void mmc_pwrseq_simple_set_gpios_value(struct mmc_pwrseq_simple *pwrseq, in mmc_pwrseq_simple_set_gpios_value() argument 39 struct gpio_descs *reset_gpios = pwrseq->reset_gpios; in mmc_pwrseq_simple_set_gpios_value() 43 int nvalues = reset_gpios->ndescs; in mmc_pwrseq_simple_set_gpios_value() 54 gpiod_set_array_value_cansleep(nvalues, reset_gpios->desc, in mmc_pwrseq_simple_set_gpios_value() 55 reset_gpios->info, values); in mmc_pwrseq_simple_set_gpios_value() [all …]
|
H A D | pwrseq_emmc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Simple eMMC hardware reset provider 22 #include "pwrseq.h" 25 struct mmc_pwrseq pwrseq; member 30 #define to_pwrseq_emmc(p) container_of(p, struct mmc_pwrseq_emmc, pwrseq) 34 struct mmc_pwrseq_emmc *pwrseq = to_pwrseq_emmc(host->pwrseq); in mmc_pwrseq_emmc_reset() local 36 gpiod_set_value_cansleep(pwrseq->reset_gpio, 1); in mmc_pwrseq_emmc_reset() 38 gpiod_set_value_cansleep(pwrseq->reset_gpio, 0); in mmc_pwrseq_emmc_reset() 45 struct mmc_pwrseq_emmc *pwrseq = container_of(this, in mmc_pwrseq_emmc_reset_nb() local 47 gpiod_set_value(pwrseq->reset_gpio, 1); in mmc_pwrseq_emmc_reset_nb() [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 10 This selects Hardware reset support aka pwrseq-emmc for eMMC 27 tristate "Simple HW reset support for MMC" 31 This selects simple hardware reset support aka pwrseq-simple for MMC
|
/linux/Documentation/devicetree/bindings/mmc/ |
H A D | mmc-pwrseq-simple.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mmc/mmc-pwrseq-simple.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Simple MMC power sequence provider 10 - Ulf Hansson <ulf.hansson@linaro.org> 13 The purpose of the simple MMC power sequence provider is to supports a set 19 const: mmc-pwrseq-simple 21 reset-gpios: 28 They will be de-asserted right after the power has been provided to the [all …]
|
H A D | mmc-pwrseq-emmc.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mmc/mmc-pwrseq-emmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Simple eMMC hardware reset provider 10 - Ulf Hansson <ulf.hansson@linaro.org> 25 const: mmc-pwrseq-emmc 27 reset-gpios: 36 - compatible 37 - reset-gpios [all …]
|
/linux/Documentation/devicetree/bindings/net/wireless/ |
H A D | silabs,wfx.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Jérôme Pouiller <jerome.pouiller@silabs.com> 16 https://www.silabs.com/documents/public/data-sheets/wf200-datasheet.pdf 25 It is recommended to declare a mmc-pwrseq on SDIO host above WFx. Without 26 it, you may encounter issues during reboot. The mmc-pwrseq should be 27 compatible with mmc-pwrseq-simple. Please consult 28 Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml for more 34 - enum: [all …]
|
/linux/arch/riscv/boot/dts/allwinner/ |
H A D | sun20i-d1-lichee-rv-dock.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 5 #include <dt-bindings/input/input.h> 7 #include "sun20i-d1-lichee-rv.dts" 11 compatible = "sipeed,lichee-rv-dock", "sipeed,lichee-rv", 12 "allwinner,sun20i-d1"; 18 dmic_codec: dmic-codec { 19 compatible = "dmic-codec"; 20 num-channels = <2>; 21 #sound-dai-cells = <0>; 24 dmic-sound { [all …]
|
H A D | sun20i-d1-lichee-rv-86-panel.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 4 #include "sun20i-d1-lichee-rv.dts" 12 dmic_codec: dmic-codec { 13 compatible = "dmic-codec"; 14 num-channels = <2>; 15 #sound-dai-cells = <0>; 18 dmic-sound { 19 compatible = "simple-audio-card"; 20 simple-audio-card,name = "DMIC"; 21 #address-cells = <1>; [all …]
|
/linux/arch/arm64/boot/dts/rockchip/ |
H A D | rk3399-sapphire-excavator.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 /dts-v1/; 7 #include "rk3399-sapphire.dtsi" 10 model = "Excavator-RK3399 Board"; 11 compatible = "rockchip,rk3399-sapphire-excavator", "rockchip,rk3399"; 17 adc-keys { 18 compatible = "adc-keys"; 19 io-channels = <&saradc 1>; 20 io-channel-names = "buttons"; 21 keyup-threshold-microvolt = <1800000>; [all …]
|
H A D | rk3318-a95x-z2.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 /dts-v1/; 4 #include <dt-bindings/input/input.h> 9 compatible = "zkmagic,a95x-z2", "rockchip,rk3318"; 19 stdout-path = "serial2:1500000n8"; 22 adc-keys { 23 compatible = "adc-keys"; 24 io-channels = <&saradc 0>; 25 io-channel-names = "buttons"; 26 keyup-threshold-microvolt = <1800000>; [all …]
|
H A D | rk3326-odroid-go2-v11.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 /dts-v1/; 9 #include "rk3326-odroid-go.dtsi" 12 model = "ODROID-GO Advance Black Edition"; 13 compatible = "hardkernel,rk3326-odroid-go2-v11", "rockchip,rk3326"; 19 analog_sticks: adc-joystick { 20 compatible = "adc-joystick"; 21 io-channels = <&saradc 1>, 23 poll-interval = <60>; 24 #address-cells = <1>; [all …]
|
/linux/arch/arm64/boot/dts/allwinner/ |
H A D | sun50i-h6-tanix.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 4 /dts-v1/; 6 #include "sun50i-h6.dtsi" 7 #include "sun50i-h6-cpu-opp.dtsi" 9 #include <dt-bindings/gpio/gpio.h> 17 stdout-path = "serial0:115200n8"; 21 compatible = "hdmi-connector"; 22 ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 27 remote-endpoint = <&hdmi_out_con>; 34 compatible = "i2c-gpio"; [all …]
|
H A D | sun50i-h6-pine-h64-model-b.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 #include "sun50i-h6-pine-h64.dts" 8 /delete-node/ ®_gmac_3v3; 12 compatible = "pine64,pine-h64-model-b", "allwinner,sun50i-h6"; 14 wifi_pwrseq: pwrseq { 15 compatible = "mmc-pwrseq-simple"; 16 reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */ 17 post-power-on-delay-ms = <200>; 22 /delete-property/ ddc-en-gpios; 26 phy-supply = <®_aldo2>; [all …]
|
H A D | sun50i-a64-pinephone-1.2.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 4 /dts-v1/; 6 #include "sun50i-a64-pinephone.dtsi" 10 compatible = "pine64,pinephone-1.2", "pine64,pinephone", "allwinner,sun50i-a64"; 12 wifi_pwrseq: wifi-pwrseq { 13 compatible = "mmc-pwrseq-simple"; 14 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ 19 power-supply = <®_ldo_io0>; 27 brightness-levels = < 34 num-interpolated-steps = <50>; [all …]
|
H A D | sun50i-h700-anbernic-rg35xx-plus.dts | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 6 #include "sun50i-h700-anbernic-rg35xx-2024.dts" 10 compatible = "anbernic,rg35xx-plus", "allwinner,sun50i-h700"; 12 wifi_pwrseq: pwrseq { 13 compatible = "mmc-pwrseq-simple"; 15 clock-names = "ext_clock"; 16 pinctrl-0 = <&x32clk_fanout_pin>; 17 pinctrl-names = "default"; 18 post-power-on-delay-ms = <200>; 19 reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ [all …]
|
H A D | sun50i-h6-orangepi-lite2.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 4 #include "sun50i-h6-orangepi.dtsi" 8 compatible = "xunlong,orangepi-lite2", "allwinner,sun50i-h6"; 11 serial1 = &uart1; /* BT-UART */ 14 wifi_pwrseq: pwrseq { 15 compatible = "mmc-pwrseq-simple"; 17 clock-names = "ext_clock"; 18 reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */ 19 post-power-on-delay-ms = <200>; 24 vmmc-supply = <®_cldo2>; [all …]
|
/linux/arch/arm64/boot/dts/amlogic/ |
H A D | meson-gxl-s805x-p241.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 /dts-v1/; 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/sound/meson-aiu.h> 13 #include "meson-gxl-s805x.dtsi" 16 compatible = "amlogic,p241", "amlogic,s805x", "amlogic,meson-gxl"; 25 au2: analog-amplifier { 26 compatible = "simple-audio-amplifier"; 27 sound-name-prefix = "AU2"; 28 VCC-supply = <&vcc_5v>; [all …]
|
H A D | meson-gx-p23x-q20x.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 * the pin-compatible S912 (GXM) or S905D (GXL) SoCs. 11 #include <dt-bindings/sound/meson-aiu.h> 19 dio2133: analog-amplifier { 20 compatible = "simple-audio-amplifier"; 21 sound-name-prefix = "AU2"; 22 VCC-supply = <&hdmi_5v>; 23 enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; 26 spdif_dit: audio-codec-0 { 27 #sound-dai-cells = <0>; [all …]
|
H A D | meson-gxl-s905x-hwacom-amazetv.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 /dts-v1/; 10 #include "meson-gxl-s905x.dtsi" 13 compatible = "hwacom,amazetv", "amlogic,s905x", "amlogic,meson-gxl"; 22 stdout-path = "serial0:115200n8"; 30 vddio_card: gpio-regulator { 31 compatible = "regulator-gpio"; 33 regulator-name = "VDDIO_CARD"; 34 regulator-min-microvolt = <1800000>; 35 regulator-max-microvolt = <3300000>; [all …]
|
/linux/arch/arm/boot/dts/broadcom/ |
H A D | bcm283x-rpi-wifi-bt.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 wifi_pwrseq: wifi-pwrseq { 5 compatible = "mmc-pwrseq-simple"; 11 #address-cells = <1>; 12 #size-cells = <0>; 13 pinctrl-names = "default"; 14 pinctrl-0 = <&emmc_gpio34>; 15 bus-width = <4>; 16 non-removable; 17 mmc-pwrseq = <&wifi_pwrseq>; [all …]
|
/linux/arch/arm/boot/dts/allwinner/ |
H A D | sun8i-h3-beelink-x2.dts | 4 * This file is dual-licensed: you can use it either under the terms 43 /dts-v1/; 44 #include "sun8i-h3.dtsi" 45 #include "sunxi-common-regulators.dtsi" 47 #include <dt-bindings/gpio/gpio.h> 48 #include <dt-bindings/input/input.h> 52 compatible = "roofull,beelink-x2", "allwinner,sun8i-h3"; 61 compatible = "cec-gpio"; 62 cec-gpios = <&pio 0 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; /* PA14 */ 63 hdmi-phandle = <&hdmi>; [all …]
|
/linux/arch/arm64/boot/dts/ti/ |
H A D | k3-am62-verdin-wifi.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 7 * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62 11 wifi_pwrseq: wifi-pwrseq { 12 compatible = "mmc-pwrseq-simple"; 13 pinctrl-names = "default"; 14 pinctrl-0 = <&pinctrl_wifi_en>; 15 reset-gpios = <&main_gpio0 22 GPIO_ACTIVE_LOW>; 19 /* On-module Wi-Fi */ 21 pinctrl-names = "default"; 22 pinctrl-0 = <&pinctrl_sdhci2>; [all …]
|
/linux/Documentation/driver-api/ |
H A D | pwrseq.rst | 1 .. SPDX-License-Identifier: GPL-2.0-only 13 This framework is designed to abstract complex power-up sequences that are 22 -------- 43 A handle passed by the pwrseq core to every consumer that serves as the 50 The consumer API is aimed to be as simple as possible. The driver interested in 65 Each provider can logically split the power-up sequence into descrete chunks 70 register with the pwrseq subsystem by calling pwrseq_device_register(). 73 ------------------------- 75 The main difference between pwrseq and other linux kernel providers is the 77 provider driver must implement the `match()` callback and pass it to the pwrseq [all …]
|
/linux/arch/arm/boot/dts/rockchip/ |
H A D | rk3288-rock2-square.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 /dts-v1/; 4 #include <dt-bindings/input/input.h> 5 #include "rk3288-rock2-som.dtsi" 9 compatible = "radxa,rock2-square", "rockchip,rk3288"; 12 stdout-path = "serial2:115200n8"; 15 adc-keys { 16 compatible = "adc-keys"; 17 io-channels = <&saradc 1>; 18 io-channel-names = "buttons"; [all …]
|
H A D | rk3036-kylin.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 /dts-v1/; 9 compatible = "rockchip,rk3036-kylin", "rockchip,rk3036"; 12 stdout-path = "serial2:115200n8"; 20 hdmi_con: hdmi-con { 21 compatible = "hdmi-connector"; 26 remote-endpoint = <&hdmi_out_con>; 31 leds: gpio-leds { 32 compatible = "gpio-leds"; 34 work_led: led-0 { [all …]
|