Message ID | 20191216124740.16647-7-geert+renesas@glider.be (mailing list archive) |
---|---|
State | Mainlined |
Commit | 111cc9ace2b5047a34642f7eb8b1dbdba10cda56 |
Headers | show |
Series | arm64: dts: renesas: r8a77961: Add more device nodes | expand |
Hi Geert, On Mon, Dec 16, 2019 at 01:47:40PM +0100, Geert Uytterhoeven wrote: > Add device nodes for the SDHI Interfaces on the Renesas R-Car M3-W+ > (r8a77961) SoC. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- > v2: > - No changes. > > Test procedure (eMMC): > 1. "hd /dev/mmcblk0boot1". > --- > arch/arm64/boot/dts/renesas/r8a77961.dtsi | 39 +++++++++++++++++++++-- > 1 file changed, 36 insertions(+), 3 deletions(-) Reviewed-by: Eugeniu Rosca <erosca@de.adit-jv.com> Tested-by: Eugeniu Rosca <erosca@de.adit-jv.com> [Unrelated to this patch/series] Building the kernel image on your topic/r8a77961-extra-v2 branch and booting the M3-W+ Salvator-XS target from MMC, I get a panic [1]. Fortunately, this is already fixed by 7de7de7ca0ae0f ("Fix root mounting with no mount options") [1] panic booting from SD card (KASAN=y) [ 8.825749] Waiting for root device /dev/mmcblk1p2... [ 8.909815] mmc1: new ultra high speed SDR104 SDHC card at address aaaa [ 8.936963] mmcblk1: mmc1:aaaa SL32G 29.7 GiB [ 8.997913] mmcblk1: p1 p2 p3 < p5 p6 p7 > [ 9.067410] ================================================================== [ 9.075652] BUG: KASAN: null-ptr-deref in strncpy+0x4c/0x6c [ 9.081862] Read of size 1 at addr 0000000000000000 by task swapper/0/1 [ 9.089185] [ 9.090944] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.5.0-rc2+ #2 [ 9.097890] Hardware name: Renesas Salvator-X 2nd version board based on r8a77961 (DT) [ 9.106652] Call trace: [ 9.109458] dump_backtrace+0x0/0x244 [ 9.113574] show_stack+0x1c/0x24 [ 9.117316] dump_stack+0xe4/0x140 [ 9.121155] __kasan_report+0x1b0/0x1c8 [ 9.125458] kasan_report+0xc/0x14 [ 9.129289] __asan_load1+0x34/0x60 [ 9.133216] strncpy+0x4c/0x6c [ 9.136681] do_mount_root+0x7c/0x150 [ 9.140797] mount_block_root+0x1c4/0x304 [ 9.145293] mount_root+0x17c/0x1bc [ 9.149222] prepare_namespace+0x150/0x160 [ 9.153812] kernel_init_freeable+0x3b8/0x434 [ 9.158686] kernel_init+0x18/0x130 [ 9.162617] ret_from_fork+0x10/0x18 [ 9.166630] ================================================================== [ 9.174629] Disabling lock debugging due to kernel taint [ 9.180510] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 [ 9.189491] Mem abort info: [ 9.192387] ESR = 0x96000004 [ 9.195554] EC = 0x25: DABT (current EL), IL = 32 bits [ 9.200989] SET = 0, FnV = 0 [ 9.204145] EA = 0, S1PTW = 0 [ 9.207394] Data abort info: [ 9.210374] ISV = 0, ISS = 0x00000004 [ 9.214318] CM = 0, WnR = 0 [ 9.217393] [0000000000000000] user address but active_mm is swapper [ 9.223892] Internal error: Oops: 96000004 [#1] PREEMPT SMP [ 9.229535] Modules linked in: [ 9.232646] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G B 5.5.0-rc2+ #2 [ 9.240391] Hardware name: Renesas Salvator-X 2nd version board based on r8a77961 (DT) [ 9.248402] pstate: 60000005 (nZCv daif -PAN -UAO) [ 9.253260] pc : strncpy+0x4c/0x6c [ 9.256711] lr : strncpy+0x4c/0x6c [ 9.260158] sp : ffff000675b57b80 [ 9.263518] x29: ffff000675b57b80 x28: ffff00066ebc7005 [ 9.268900] x27: 0000000000000008 x26: ffffa000112adf30 [ 9.274282] x25: fffffe00199af1c0 x24: ffffa00010c31ba0 [ 9.279664] x23: ffff00066e418fff x22: ffff00066ebc7000 [ 9.285046] x21: ffff00066e418000 x20: 0000000000000000 [ 9.290428] x19: ffff00066e418000 x18: 0000000000000000 [ 9.295809] x17: 00000000000014a0 x16: 0000000000001540 [ 9.301190] x15: 0000000000001498 x14: 0000000000001480 [ 9.306570] x13: 0000000000001488 x12: ffff8000ceb6af0e [ 9.311952] x11: 1fffe000ceb6af0e x10: 0000000000001710 [ 9.317334] x9 : ffffa00010c17f3c x8 : ffff000675b57877 [ 9.322715] x7 : ffff8000ceb6af0f x6 : ffff8000ceb6af0f [ 9.328097] x5 : dfffa00000000000 x4 : ffff000675b48000 [ 9.333478] x3 : ffffa00010c12678 x2 : 0000000000000007 [ 9.338859] x1 : ac027d2c81180b00 x0 : 0000000000000000 [ 9.344240] Call trace: [ 9.346729] strncpy+0x4c/0x6c [ 9.349832] do_mount_root+0x7c/0x150 [ 9.353546] mount_block_root+0x1c4/0x304 [ 9.357611] mount_root+0x17c/0x1bc [ 9.361150] prepare_namespace+0x150/0x160 [ 9.365303] kernel_init_freeable+0x3b8/0x434 [ 9.369718] kernel_init+0x18/0x130 [ 9.373258] ret_from_fork+0x10/0x18 [ 9.376893] Code: a8c47bfd d65f03c0 aa1403e0 97dc44f6 (39400296) [ 9.383067] ---[ end trace 73d9c2c2bc9e939b ]--- [ 9.387965] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 9.395737] SMP: stopping secondary CPUs [ 9.399731] Kernel Offset: disabled [ 9.403268] CPU features: 0x10002,21006004 [ 9.407415] Memory Limit: none [ 9.410545] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---
diff --git a/arch/arm64/boot/dts/renesas/r8a77961.dtsi b/arch/arm64/boot/dts/renesas/r8a77961.dtsi index 77fbe0f508a50778..be3824bda632233e 100644 --- a/arch/arm64/boot/dts/renesas/r8a77961.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77961.dtsi @@ -905,18 +905,51 @@ }; sdhi0: sd@ee100000 { + compatible = "renesas,sdhi-r8a77961", + "renesas,rcar-gen3-sdhi"; reg = <0 0xee100000 0 0x2000>; - /* placeholder */ + interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 314>; + max-frequency = <200000000>; + power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; + resets = <&cpg 314>; + status = "disabled"; + }; + + sdhi1: sd@ee120000 { + compatible = "renesas,sdhi-r8a77961", + "renesas,rcar-gen3-sdhi"; + reg = <0 0xee120000 0 0x2000>; + interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 313>; + max-frequency = <200000000>; + power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; + resets = <&cpg 313>; + status = "disabled"; }; sdhi2: sd@ee140000 { + compatible = "renesas,sdhi-r8a77961", + "renesas,rcar-gen3-sdhi"; reg = <0 0xee140000 0 0x2000>; - /* placeholder */ + interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 312>; + max-frequency = <200000000>; + power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; + resets = <&cpg 312>; + status = "disabled"; }; sdhi3: sd@ee160000 { + compatible = "renesas,sdhi-r8a77961", + "renesas,rcar-gen3-sdhi"; reg = <0 0xee160000 0 0x2000>; - /* placeholder */ + interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 311>; + max-frequency = <200000000>; + power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; + resets = <&cpg 311>; + status = "disabled"; }; gic: interrupt-controller@f1010000 {
Add device nodes for the SDHI Interfaces on the Renesas R-Car M3-W+ (r8a77961) SoC. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- v2: - No changes. Test procedure (eMMC): 1. "hd /dev/mmcblk0boot1". --- arch/arm64/boot/dts/renesas/r8a77961.dtsi | 39 +++++++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-)