Re: [PATCH V3 0/9] arm64: imx8mn: Enable more imx8m Nano functions
From: Adam Ford <hidden>
Date: 2021-11-21 13:07:56
Also in:
linux-devicetree, lkml
On Tue, Nov 16, 2021 at 12:27 PM Tim Harvey [off-list ref] wrote:
On Tue, Nov 16, 2021 at 10:04 AM Adam Ford [off-list ref] wrote:quoted
On Tue, Nov 16, 2021 at 11:57 AM Tim Harvey [off-list ref] wrote:quoted
On Thu, Nov 4, 2021 at 9:18 AM Adam Ford [off-list ref] wrote:quoted
The i.MX8M Nano is similar to the i.MX8M Mini in some ways, but very different in others. With the blk-ctrl driver for Mini in place, this series expands the blk-ctrl driver to support the Nano which opens the door for additional functions in the future. As part of this series, it also addresses some issues in the GPCv2 driver and finally adds support for enabling USB and GPU. V3: Fixes an the yaml example V2: Fixes the clock count in the blk-ctrl Adam Ford (9): soc: imx: gpcv2: keep i.MX8MN gpumix bus clock enabled soc: imx: gpcv2: Add dispmix and mipi domains to imx8mn dt-bindings: power: imx8mn: add defines for DISP blk-ctrl domains dt-bindings: soc: add binding for i.MX8MN DISP blk-ctrl soc: imx: imx8m-blk-ctrl: add i.MX8MN DISP blk-ctrl arm64: dts: imx8mn: add GPC node arm64: dts: imx8mn: put USB controller into power-domains arm64: dts: imx8mn: add DISP blk-ctrl arm64: dts: imx8mn: Enable GPU .../soc/imx/fsl,imx8mn-disp-blk-ctrl.yaml | 97 +++++++++++++++++ arch/arm64/boot/dts/freescale/imx8mn.dtsi | 103 ++++++++++++++++++ drivers/soc/imx/gpcv2.c | 26 +++++ drivers/soc/imx/imx8m-blk-ctrl.c | 75 ++++++++++++- include/dt-bindings/power/imx8mn-power.h | 5 + 5 files changed, 305 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx8mn-disp-blk-ctrl.yamlAdam, Thanks for the patches. I'm not sure how best to test this but on an imx8mm-venice-gw7902 which has USB, but no display. I find that if DRM_ETNAVIV is enabled I hang at 'etnaviv etnaviv: bound 38000000.gpu (ops 0xffff800010964748)'.Thanks for testing this. Does your board send power to the GPU? I recall someone somewhere didn't power theirGPU, but I can't remember who and/or what board was being discussed.Yes, the imx8mm-venice-gw7902 does have the GPU powered (the imx8mm-venice-gw7901 was the one that did not).
I cannot replicate your issue. I applied the patch series to 5.16-rc1, and it's still working for me. root@beacon-imx8mn-kit:~# dmesg |grep viv [ 11.323660] etnaviv etnaviv: bound 38000000.gpu (ops gpu_ops [etnaviv]) [ 11.480543] etnaviv-gpu 38000000.gpu: model: GC7000, revision: 6203 [ 11.747576] [drm] Initialized etnaviv 1.3.0 20151214 for etnaviv on minor 0 After booting, I connected a USB drive and it enumerated. [ 152.328228] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1 [ 152.351885] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 [ 152.363859] hub 1-0:1.0: USB hub found [ 152.371560] hub 1-0:1.0: 1 port detected [ 153.075902] usb 1-1: new high-speed USB device number 2 using ci_hdrc [ 153.244124] usb-storage 1-1:1.0: USB Mass Storage device detected [ 153.263651] scsi host0: usb-storage 1-1:1.0 [ 154.277997] scsi 0:0:0:0: Direct-Access SanDisk Cruzer 1.00 PQ: 0 ANSI: 6 [ 154.292357] sd 0:0:0:0: [sda] 247529472 512-byte logical blocks: (127 GB/118 GiB) [ 154.309246] sd 0:0:0:0: [sda] Write Protect is off [ 154.319237] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 154.359113] sda: sda1 [ 154.366975] sd 0:0:0:0: [sda] Attached SCSI removable disk root@beacon-imx8mn-kit:~# lsusb Bus 001 Device 002: ID 0781:5530 SanDisk Corp. Cruzer Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub I am not sure where to go from here.
Timquoted
I'll run some more tests on the latest 5.16-rc1 to see if I can replicate your issue. adamquoted
If DRM_ETNAVIV is not enabled: - boots fine - usb works - soft reboot works (does not hang)At least we have some progress. :-) adamquoted
Best regards, Tim
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel