diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 7997501aa7ba..499d3148a645 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -59,7 +59,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk-8mic-revE.dtb imx8mm-evk-8mic-swpdm.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-ab2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mn-evk.dtb imx8mn-evk-rm67191.dtb imx8mn-ddr4-evk.dtb imx8mn-ddr4-evk-ak5558.dtb \ imx8mn-ddr4-evk-rm67191.dtb imx8mn-ddr4-evk-rpmsg.dtb imx8mn-ddr4-evk-usd-wifi.dtb \ - imx8mn-evk-ak5558.dtb imx8mn-evk-rpmsg.dtb + imx8mn-evk-ak5558.dtb imx8mn-evk-rpmsg.dtb imx8mn-evk-8mic-revE.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mn-ddr4-evk-root.dtb imx8mn-ddr4-evk-inmate.dtb imx8mn-evk-root.dtb imx8mn-evk-inmate.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mn-ab2.dtb imx8mn-ddr4-ab2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb imx8mp-evk-root.dtb imx8mp-evk-inmate.dtb imx8mp-evk-rpmsg.dtb \ diff --git a/arch/arm64/boot/dts/freescale/imx8mn-evk-8mic-revE.dts b/arch/arm64/boot/dts/freescale/imx8mn-evk-8mic-revE.dts new file mode 100644 index 000000000000..93e4090dc7c5 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mn-evk-8mic-revE.dts @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright 2020 NXP + */ + +#include "imx8mn-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 = ; + }; + + sw3: volume_up { + label = "Volume Up"; + gpios = <&pca9555 15 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + sw2: volume_mute { + label = "Volume Mute"; + gpios = <&pca9555 16 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + sw1: key_act { + label = "Key Act"; + gpios = <&pca9555 17 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + 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 = < + MX8MN_IOMUXC_ECSPI1_MISO_GPIO5_IO8 0x19 + >; + }; + + pinctrl_pushbutton_irq: pushbutton_grp { + fsl,pins = < + MX8MN_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"; +};