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: Fugang Duan <fugang.duan@nxp.com>
Enable nxp 88w8987 bluetooth HSP.
Note:
- 88w8987 bt i2s only support pcm mode A.
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
We need passthrough dsp to domu, it is in vpu ss,
without power off it, vpu ss will not be really off.
And domu audio also needs dsp to work proper for hifi.
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: zhang sanshan <pete.zhang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
display-subsystem in imx8qm-ss-dc.dtsi cover the domu dts.
dpu2_disp0 and dpu2_disp1 are added into “ports”, however dpu2 do not enable.
It cause bind failed and it have no display shown.
Change-Id: I2a16708ba49a64b61d6bd87ffdce82c0734dad2c
Signed-off-by: zhang sanshan <pete.zhang@nxp.com>
(cherry picked from commit 75b467a4eadd1b541cbdf1ef81de12550edbdc44)
Add the iMX8DXL PCIe EP support and verified on EVK board.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Add the PCIe EP mode on iMX8MQ/MM/MP platforms.
And enable the EP mode on EVK boards.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Add the iMX8QM PCIEA EP support and verified on MEK board.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Add the iMX8QXP PCIe EP mode, and verified on MEK board.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Add "fsl,imx8mm-ocotp" as fallback compatible of i.MX8MP ocotp
to support SoC UID read.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
Different "arecords" tasks getting i2c_adapter_lock_bus and
clk_prepare_lock at the same time cause the deadlock.
Task A gets the clk_prepare_lock and waiting for the
i2c_adapter_lock_bus when it tries to open MCLK which is gated by
a pin of IO Expander on the same i2c bus.
Task B gets the i2c_adapter_lock_bus and waiting for the
clk_prepare_lock when configs wm8960 through i2c.
The usages of i2c mux, i2c device and clock prepare lock do not have
obvious error.
So, avoid the deadlock by using "pinctrl-assert-gpios"
to set the GPIO gate of MCLK when kernel boot instead of using
"gpio-gate-clock" to set the GPIO gate every time using it.
Task A blocked call trace:
[ 112.367398] Call trace:
[ 112.369840] __switch_to+0x104/0x170
[ 112.373420] __schedule+0x224/0x560
[ 112.376910] schedule+0x40/0xe0
[ 112.380050] __rt_mutex_slowlock+0x60/0xf8
[ 112.384150] rt_mutex_slowlock+0xac/0x188
[ 112.388164] rt_mutex_lock+0x58/0x60
[ 112.391750] i2c_adapter_lock_bus+0x10/0x18
[ 112.395939] i2c_transfer+0x4c/0xf8
[ 112.399430] i2c_transfer_buffer_flags+0x58/0x80
[ 112.404058] regmap_i2c_write+0x1c/0x50
[ 112.407893] _regmap_raw_write_impl+0x514/0x610
[ 112.412427] _regmap_bus_raw_write+0x60/0x78
[ 112.416701] _regmap_write+0x58/0xa8
[ 112.420281] _regmap_update_bits+0xf0/0x108
[ 112.424468] regmap_update_bits_base+0x60/0x90
[ 112.428923] pca953x_gpio_set_value+0xac/0xc8
[ 112.433284] gpiod_set_value_nocheck+0x54/0x98
[ 112.437726] gpiod_set_value_cansleep+0x38/0x48
[ 112.442264] clk_sleeping_gpio_gate_prepare+0x14/0x20
[ 112.447321] clk_core_prepare+0x58/0xe0
[ 112.451155] clk_prepare+0x24/0x40
[ 112.454571] wm8960_set_bias_level_out3+0x120/0x1f8
Task B blocked call trace:
[ 115.927987] Call trace:
[ 115.930429] __switch_to+0x104/0x170
[ 115.934001] __schedule+0x224/0x560
[ 115.937491] schedule+0x40/0xe0
[ 115.940638] schedule_preempt_disabled+0x20/0x38
[ 115.945260] __mutex_lock.isra.0+0x17c/0x5b8
[ 115.949532] __mutex_lock_slowpath+0x10/0x18
[ 115.953808] mutex_lock+0x34/0x50
[ 115.957131] clk_prepare_lock+0x40/0x98
[ 115.960968] clk_core_get_rate+0x14/0x70
[ 115.964895] clk_get_rate+0x14/0x28
[ 115.968393] lpi2c_imx_xfer+0x78/0x610
[ 115.972144] __i2c_transfer+0x14c/0x390
[ 115.975979] i2c_smbus_xfer_emulated+0xd8/0x630
[ 115.980513] __i2c_smbus_xfer+0x118/0x210
[ 115.984529] pca954x_select_chan+0x74/0xb8
[ 115.988628] __i2c_mux_master_xfer+0x38/0x80
[ 115.992903] __i2c_transfer+0x14c/0x390
[ 115.996743] i2c_transfer+0x5c/0xf8
[ 116.000236] i2c_transfer_buffer_flags+0x58/0x80
[ 116.004859] regmap_i2c_write+0x1c/0x50
[ 116.008696] _regmap_bus_formatted_write+0x6c/0xb8
[ 116.013489] _regmap_write+0x58/0xa8
[ 116.017071] regmap_write+0x48/0x70
[ 116.020564] snd_soc_component_write+0x30/0x40
[ 116.025015] wm8960_set_pll+0x1e8/0x210
Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Add i.MX8DXL inmate/root dts. Needs to use non-m4 flash.bin and use the
following command to boot the 2nd Linux:
./jailhouse cell linux imx8dxl-linux-demo.cell Image -d
imx8dxl-evk-inmate.dtb -c "clk_ignore_unused console=ttyLP4,115200
earlycon=lpuart32,mmio32,0x5a060010,115200 cma=32MB root=/dev/mmcblk0p2 rootwait rw"
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Set decimation factor to 64 this allows to support all
possible sample rates for SPK0641HT4H-1 on 8mic board
Example: 16khz: BCLK = 16khz * 64 = 1024000 Hz
[ 8000 - 11025] low power mode
[16000 - 64000] performance mode
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
Use fsl,dataline,dsd channel mask to enable only SAI
datalines available per SAI block; On SAI5 0xf enables
4 datalines on SAI5_RX; Up to 4 channels capture, one
channel per dataline.
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
Limit the maximum allowed bandwidth for LCDIF due to HW limitation in
i.MX8MQ: LCDIF can dcan rive up to 720p60 because of DDR/NoC QoS issue.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Add mu alias to make power key driver could probe successfully,
otherwise it might use wrong resource number to enable irq group
which cause failure.
Reviewed-by: zhang sanshan <pete.zhang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 31f7e2b7fed10b72b2e4fe7c28284c79e4889481)
The VPU ENC is removed from smmu, it will cause smmu abort.
Drop the PI resources, it is not able to assign and report fail.
Reviewed-by: zhang sanshan <pete.zhang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
DomU mipi dsi needs this, so give access, otherwise domu crash
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 8a6cd912c31d69e043b78e1b054cc8aa3472f66f)
Give SAI0 pad to domu and audio sys reg space.
Reviewed-by: zhang sanshan <pete.zhang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 817b83494247ef5b43287d27ca6331348d960e1e)
There is a limitation on imx8mm when SAI shared with A core
and M core, and M core is in stop mode, SAI can't be accessed.
So we disable SAI2 node which is newly added to avoid
compatible issue.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
The interrupt parent of PMU node should be gic, so correct it to fix the pmu
no sampling/overflow interrupt issue.
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
GPIO4/3 needs to be given access for DomU for otg usb.
MIPI GPIO needs to be passthrough DOmU
LSIO_GPIO1 interrupts gives to DomU, dom0 not need the interrupt
currently.
Reviewed-by: zhang sanshan <pete.zhang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 1615076996096b26353baefd79211f24e6aa835e)
Add psci node for inmate dts, otherwise secondary cpus could
not be booted up.
Reviewed-by: Alice Guo <alice.guo@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 028306eb6a60c51769156755c7526b8512b8ff38)
Add property fsl,spi-only-use-cs1-sel to mark this board only uses
CS1 without CS0.
Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Some tja1100 cards phy address is 0x2, some cards is 0x5.
tja1101 cards phy address is 0x2.
To make thing simple, and to support tja1100 and tja1101
cards by one dts file, we define the tja110x card phy
address to 0x2 in default bsp.
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
When imx8dxl enet1 is fused as below, enet1 doesn't support
RGMII mode, so add tja1100 RMII phy support.
ENET1 otp fuse: word 0xa, bit1
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
passthrough vpu/esai/pcie/edma and etc to domu, to let domu
could use more functions which is a must for android auto in
domu.
Reviewed-by: zhang sanshan <pete.zhang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Enable wdog for rpmsg dts to make wdog function could work properly.
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
When M4 boots from flexspi, linux should not use that, otherwise
M4 will hang.
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Create imx8qxp-mek-lcdif.dts and imx8qxp-mek-lcdif-rpmsg.dts files for
the display use-case of LCDIF.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
files
Enable cm40 lpuart in imx8dxl-evk.dts and disable it in
imx8dxl-evk-rpmsg.dts.
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Adding lpuart device in cm40 subsystem needs to add cm40_lpuart node and
Low-Power Clock Gating which is used for uart. Add serial4 alias for 8dxl.
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
commit 15ddc3e17a upstream.
Using SDMA1 with UART1 is causing a "Timeout waiting for CH0" error.
This patch changes to ahb clock from SDMA1_ROOT to AHB which fixes the
timeout error.
Fixes: 6c3debcbae ("arm64: dts: freescale: Add i.MX8MN dtsi support")
Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fix SAI3 pads for ak5552 ADC support; add multi
clock entries to support all sample rates
Use fsl,imx-audio-ak5552 for asoc machine driver
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Fix SAI3 pads for ak5552 dac support, add multi
clock entries to support all sample rates
Use fsl,imx-audio-ak5552 and disable ak4458_3 to
follow default config
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Correct fec phy reg id, allow to use nfsroot
Fixes: mdio_bus 30be0000.ethernet-1: MDIO device at
address 1 is missing.
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
The spdif capture need the power supply be enabled on audio board,
otherwise the input signal can't be transferred to chip.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
The LCDIF3 is included in the HDMIMIX block, so it is
necessary to enable hdmimix power domain for LCDIF3 to
avoid any potential hang issue.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
By default, usdhc2 is for SD boot.
The patch is to enable usdhc2 on M.2 interface for SDIO wlan,
then it requires users use eMMC boot instead of SD boot.
The HW rework:
- install R1429 - R1436
- remove R1617 - R1621, R1603
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Add mmc alias, otherwise when sdhc0 disable in dts, sdhc1 will be detected
as mmc0, however uboot still pass mmcblk1p2 as root storage and
not able to find rootfs, so add alias for sdhc
Reviewed-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Reported-by: Alice Guo <alice.guo@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>