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>
[ Upstream commit 3b1f6c5e4d ]
Fix the assigned-clock-parents to higher frequency clock to avoid h264
encode timeout:
[ 134.763465] mtk_vpu 10020000.vpu: vpu ipi 4 ack time out !
[ 134.769008] [MTK_VCODEC][ERROR][18]: vpu_enc_send_msg() vpu_ipi_send msg_id c002 len 32 fail -5
[ 134.777707] [MTK_VCODEC][ERROR][18]: vpu_enc_encode() AP_IPIMSG_ENC_ENCODE 0 fail
venc_sel is the clock used by h264 encoder, and venclt_sel is the clock
used by vp8 encoder. Assign venc_sel to vcodecpll_ck and venclt_sel to
vcodecpll_370p5.
vcodecpll 1482000000
vcodecpll_ck 494000000
venc_sel 494000000
...
vcodecpll_370p5 370500000
venclt_sel 370500000
Fixes: fbbad0287c ("arm64: dts: Using standard CCF interface to set vcodec clk")
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Link: https://lore.kernel.org/r/20200504124442.208004-1-hsinyi@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit c604fd810b ]
Dts files with Rockchip rk3399 'gpu' nodes were manually verified.
In order to automate this process arm,mali-midgard.txt
has been converted to yaml. In the new setup dtbs_check with
arm,mali-midgard.yaml expects interrupts and interrupt-names values
in the same order. Fix this for rk3399.
make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/gpu/
arm,mali-midgard.yaml
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200425143837.18706-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit c617ed8850 ]
The status was removed of the '&gmac2phy' node with the apply
of a patch long time ago, so fix status for '&gmac2phy'
in 'rk3328-evb.dts'.
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200425122345.12902-2-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
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>
commit 190c7f6fd4 upstream.
The device tree compiler complains that the dwc3 nodes have regs
properties but no matching unit addresses.
Add the unit addresses to the device node name. While at it, also rename
the nodes from "dwc3" to "usb", as guidelines require device nodes have
generic names.
Fixes: 7144224f2c ("arm64: dts: rockchip: support dwc3 USB for rk3399")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20200327030414.5903-7-wens@kernel.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 83b994129f upstream.
In some board device tree files, "rk805" was used for the RK805 PMIC's
node name. However the policy for device trees is that generic names
should be used.
Replace the "rk805" node name with the generic "pmic" name.
Fixes: 1e28037ec8 ("arm64: dts: rockchip: add rk805 node for rk3328-evb")
Fixes: 955bebde05 ("arm64: dts: rockchip: add rk3328-rock64 board")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20200327030414.5903-3-wens@kernel.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 5ac0869fb3 upstream.
In the process of moving the VIM3 audio nodes to a G12B specific dtsi
for enabling the SM1 based VIM3L, the frddr_a status = "okay" property
got dropped.
This re-enables the frddr_a node to fix audio support.
Fixes: 4f26cc1c96 ("arm64: dts: khadas-vim3: move common nodes into meson-khadas-vim3.dtsi")
Reported-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
Tested-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20191018140216.4257-1-narmstrong@baylibre.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>