diff options
author | Adrian Alonso <adrian.alonso@nxp.com> | 2020-05-09 16:02:05 -0500 |
---|---|---|
committer | Adrian Alonso <adrian.alonso@nxp.com> | 2020-05-12 13:20:50 -0500 |
commit | 1c0d6cc131fb14af222c75a30855ef2e9fb58b25 (patch) | |
tree | 7e296bff35187b7f09ddccf2b459bf7a2ccd9100 /arch/arm64/boot/dts/freescale/imx8mm-evk-8mic-revE.dts | |
parent | 7238c03e567afa780bebf1701ce9031a475ca6eb (diff) |
MLK-23922-1: dts: arm64: freescale: imx8mm evk 8mic revE
Add support for 8mic rev E PDM mic array board
support for gpio leds and software keys events:
SW1: KEY_F9 Factory reset for Android
SW2: VOLUME_MUTE
SW3: VOLUME_UP
SW4: VOLUME_DOWN
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/imx8mm-evk-8mic-revE.dts')
-rw-r--r-- | arch/arm64/boot/dts/freescale/imx8mm-evk-8mic-revE.dts | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk-8mic-revE.dts b/arch/arm64/boot/dts/freescale/imx8mm-evk-8mic-revE.dts new file mode 100644 index 000000000000..ec4108c4c217 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk-8mic-revE.dts @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright 2020 NXP + */ + +#include "imx8mm-evk.dts" + +/ { + mic_leds { + compatible = "gpio-leds"; + mic0 { + label = "mic0"; + gpios = <&pca9555 5 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + mic1 { + label = "mic1"; + gpios = <&pca9555 7 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + mic2 { + label = "mic2"; + gpios = <&pca9555 6 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + mic3 { + label = "mic3"; + gpios = <&pca9555 2 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + mic4 { + label = "mic4"; + gpios = <&pca9555 1 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + mic5 { + label = "mic5"; + gpios = <&pca9555 0 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + mic6 { + label = "mic6"; + gpios = <&pca9555 4 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + mic7 { + label = "mic7"; + gpios = <&pca9555 3 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + }; + + sw_keys { + compatible = "gpio-keys"; + + sw4: volume_down { + label = "Volume Down"; + gpios = <&pca9555 14 GPIO_ACTIVE_LOW>; + linux,code = <KEY_VOLUMEDOWN>; + }; + + sw3: volume_up { + label = "Volume Up"; + gpios = <&pca9555 15 GPIO_ACTIVE_LOW>; + linux,code = <KEY_VOLUMEUP>; + }; + + sw2: volume_mute { + label = "Volume Mute"; + gpios = <&pca9555 16 GPIO_ACTIVE_LOW>; + linux,code = <KEY_MUTE>; + }; + + sw1: key_act { + label = "Key Act"; + gpios = <&pca9555 17 GPIO_ACTIVE_LOW>; + linux,code = <KEY_F9>; + }; + }; + + reg_vddext_3v3: regulator-vddext { + compatible = "regulator-fixed"; + regulator-name = "VDDEXT_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; +}; + +&iomuxc { + pinctrl_swpdm_mute_irq: swpdm_mute_grp { + fsl,pins = < + MX8MM_IOMUXC_ECSPI1_MISO_GPIO5_IO8 0x19 + >; + }; + + pinctrl_pushbutton_irq: pushbutton_grp { + fsl,pins = < + MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x19 + >; + }; +}; + +&i2c3 { + pca9555: gpio@21 { + compatible = "nxp,pca9555"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pushbutton_irq>; + reg = <0x21>; + gpio-controller; + #gpio-cells = <2>; + interrupt-parent = <&gpio5>; + interrupts = <9 IRQ_TYPE_LEVEL_LOW>; + vcc-supply = <®_vddext_3v3>; + status = "okay"; + }; +}; + +&uart3 { + status = "disabled"; +}; |