[PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa
Abhilash Kesavan
kesavan.abhilash at gmail.com
Fri Nov 28 07:39:07 PST 2014
Hello Krzysztof,
On Fri, Nov 28, 2014 at 8:49 PM, Krzysztof Kozlowski
<k.kozlowski at samsung.com> wrote:
> On pią, 2014-11-28 at 20:20 +0530, Abhilash Kesavan wrote:
>> The arndale-octa board was giving "imprecise external aborts" during
>> boot-up with MCPM enabled. CCI enablement of the boot cluster was found
>> to be the cause of these aborts (possibly because the secure f/w was not
>> allowing it). Hence, disable CCI for the arndale-octa board.
>>
>> Signed-off-by: Abhilash Kesavan <a.kesavan at samsung.com>
>> ---
>> arch/arm/boot/dts/exynos5420-arndale-octa.dts | 4 ++++
>> arch/arm/boot/dts/exynos5420.dtsi | 2 +-
>> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> I tested these 2 patches on Arndale Octa but there are no improvements.
> I still got imprecise aborts (some not fatal and sometimes killing init
> with full backtrace).
Thanks for testing. Are you testing this with exynos_defconfig with no
other changes ? Can you please confirm from the bootlog that MCPM and
CCI are not being initialized.
Can you remove these 2 patches and on linux-next check if you are
getting aborts even with 5420_MCPM disabled.
Regards,
Abhilash
>
> Tested on next-20141128. System booted from microSD (bootloader from
> Linaro Ubuntu Saucy server image):
>
> ==================================
> U-Boot 2012.07 (Feb 15 2014 - 17:29:55) for ARNDALE OCTA
>
> CPU: Exynos5420 Rev2.0 [Samsung SOC on SMP Platform Base on ARM CortexA15]
> APLL = 800MHz, KPLL = 600MHz
> MPLL = 532MHz, BPLL = 800MHz
>
> Board: ARNDALE OCTA
> DRAM: 2 GiB
> WARNING: Caches not enabled
>
> TrustZone Enabled BSP
> BL1 version:
>
> Checking Boot Mode ... SDMMC
> MMC: S5P_MSHC2: 0, S5P_MSHC0: 1
> MMC Device 0: 29.3 GiB
> MMC Device 1: 7.3 GiB
> MMC Device 2: MMC Device 2 not found
> there are pending interrupts 0x00000001
> In: serial
> Out: serial
> Err: serial
> Net: No ethernet found.
> (Re)start USB...
> USB: Register 1313 NbrPorts 3
> USB EHCI 1.00
> scanning bus for devices... The request port(2) is not configured
> The request port(2) is not configured
> 3 USB Device(s) found
> scanning bus for storage devices... 0 Storage Device(s) found
> scanning usb for ethernet devices... 1 Ethernet Device(s) found
> Hit any key to stop autoboot: 0
> ARNDALE # uTTY
> Unknown command 'uTTY' - try 'help'
> ARNDALE # run nn
> reading uImage
>
> 3674704 bytes read
> reading uInitrd
>
> 2330480 bytes read
> reading board.dtb
>
> 33680 bytes read
> ## Booting kernel from Legacy Image at 20007000 ...
> Image Name: Linux-exynos5420-arndale-octa
> Image Type: ARM Linux Kernel Image (uncompressed)
> Data Size: 3674640 Bytes = 3.5 MiB
> Load Address: 41008000
> Entry Point: 41008000
> Verifying Checksum ... OK
> ## Loading init Ramdisk from Legacy Image at 22000000 ...
> Image Name: initramfs
> Image Type: ARM Linux RAMDisk Image (uncompressed)
> Data Size: 2330416 Bytes = 2.2 MiB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> ## Flattened Device Tree blob at 21f00000
> Booting using the fdt blob at 0x21f00000
> Loading Kernel Image ... OK
> OK
> Using Device Tree in place at 21f00000, end 21f0b38f
>
> Starting kernel ...
>
> [ 0.000000] Booting Linux on physical CPU 0x0
> [ 0.000000] Linux version 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 (k.kozlowski at AMDC1943) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #24 SMP PREEMPT Fri Nov 28 16:13:43 CET 2014
> [ 0.000000] CPU: ARMv7 Processor [412fc0f3] revision 3 (ARMv7), cr=10c5387d
>
> ...
> [ 12.874514] VFS: Mounted root (ext4 filesystem) readonly on device 179:67.
> [ 12.887392] devtmpfs: mounted
> [ 12.889321] Freeing unused kernel memory: 324K (c0669000 - c06ba000)
> [ 12.951241] Unhandled fault: imprecise external abort (0x406) at 0x00000000
> [ 12.966312] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007
> [ 12.966312]
> [ 12.973980] CPU: 0 PID: 1 Comm: bash Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24
> [ 12.983938] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [ 12.990014] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14)
> [ 12.997723] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc)
> [ 13.004911] [<c048e82c>] (dump_stack) from [<c048a8c0>] (panic+0x94/0x20c)
> [ 13.011753] [<c048a8c0>] (panic) from [<c0026500>] (do_exit+0x944/0x988)
> [ 13.018424] [<c0026500>] (do_exit) from [<c00265f4>] (do_group_exit+0x3c/0xbc)
> [ 13.025621] [<c00265f4>] (do_group_exit) from [<c0030d60>] (get_signal+0x218/0x8c4)
> [ 13.033247] [<c0030d60>] (get_signal) from [<c048a39c>] (do_signal+0x84/0x350)
> [ 13.040438] [<c048a39c>] (do_signal) from [<c00115ec>] (do_work_pending+0xbc/0xcc)
> [ 13.047979] [<c00115ec>] (do_work_pending) from [<c000f1f8>] (work_pending+0xc/0x20)
> [ 13.055693] CPU1: stopping
> [ 13.058385] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24
> [ 13.068790] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [ 13.074858] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14)
> [ 13.082573] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc)
> [ 13.089762] [<c048e82c>] (dump_stack) from [<c0013e14>] (handle_IPI+0x158/0x18c)
> [ 13.097128] [<c0013e14>] (handle_IPI) from [<c00086f4>] (gic_handle_irq+0x60/0x68)
> [ 13.104669] [<c00086f4>] (gic_handle_irq) from [<c00127c4>] (__irq_svc+0x44/0x7c)
> [ 13.112112] Exception stack(0xee4c3fa0 to 0xee4c3fe8)
> [ 13.117135] 3fa0: c000fd7c ee4c3fe8 ee4c3ff0 00000000 c06c24e8 c04997e0 c06fa60a c06fa60a
> [ 13.125287] 3fc0: 00000001 412fc0f3 00000000 00000000 00000001 ee4c3fe8 c000fd7c c000fd80
> [ 13.133429] 3fe0: 60000013 ffffffff
> [ 13.136895] [<c00127c4>] (__irq_svc) from [<c000fd80>] (arch_cpu_idle+0x20/0x3c)
> [ 13.144272] [<c000fd80>] (arch_cpu_idle) from [<c0059d0c>] (cpu_startup_entry+0x11c/0x1a0)
> [ 13.152499] [<c0059d0c>] (cpu_startup_entry) from [<40008784>] (0x40008784)
> [ 13.159424] CPU2: stopping
> [ 13.162102] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24
> [ 13.172508] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [ 13.178577] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14)
> [ 13.186291] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc)
> [ 13.193479] [<c048e82c>] (dump_stack) from [<c0013e14>] (handle_IPI+0x158/0x18c)
> [ 13.200845] [<c0013e14>] (handle_IPI) from [<c00086f4>] (gic_handle_irq+0x60/0x68)
> [ 13.208386] [<c00086f4>] (gic_handle_irq) from [<c00127c4>] (__irq_svc+0x44/0x7c)
> [ 13.215833] Exception stack(0xee4c5fa0 to 0xee4c5fe8)
> [ 13.220854] 5fa0: c000fd7c ee4c5fe8 ee4c5ff0 00000000 c06c24e8 c04997e0 c06fa60a c06fa60a
> [ 13.229006] 5fc0: 00000001 412fc0f3 00000000 00000000 00000001 ee4c5fe8 c000fd7c c000fd80
> [ 13.237149] 5fe0: 60000113 ffffffff
> [ 13.240612] [<c00127c4>] (__irq_svc) from [<c000fd80>] (arch_cpu_idle+0x20/0x3c)
> [ 13.247986] [<c000fd80>] (arch_cpu_idle) from [<c0059d0c>] (cpu_startup_entry+0x11c/0x1a0)
> [ 13.256218] [<c0059d0c>] (cpu_startup_entry) from [<40008784>] (0x40008784)
> [ 13.263144] CPU3: stopping
> [ 13.265823] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24
> [ 13.276230] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [ 13.282300] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14)
> [ 13.290012] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc)
> [ 13.297200] [<c048e82c>] (dump_stack) from [<c0013e14>] (handle_IPI+0x158/0x18c)
> [ 13.304565] [<c0013e14>] (handle_IPI) from [<c00086f4>] (gic_handle_irq+0x60/0x68)
> [ 13.312108] [<c00086f4>] (gic_handle_irq) from [<c00127c4>] (__irq_svc+0x44/0x7c)
> [ 13.319553] Exception stack(0xee4c7fa0 to 0xee4c7fe8)
> [ 13.324576] 7fa0: c000fd7c ee4c7fe8 ee4c7ff0 00000000 c06c24e8 c04997e0 c06fa60a c06fa60a
> [ 13.332727] 7fc0: 00000001 412fc0f3 00000000 00000000 00000001 ee4c7fe8 c000fd7c c000fd80
> [ 13.340870] 7fe0: 60000113 ffffffff
> [ 13.344335] [<c00127c4>] (__irq_svc) from [<c000fd80>] (arch_cpu_idle+0x20/0x3c)
> [ 13.351710] [<c000fd80>] (arch_cpu_idle) from [<c0059d0c>] (cpu_startup_entry+0x11c/0x1a0)
> [ 13.359939] [<c0059d0c>] (cpu_startup_entry) from [<40008784>] (0x40008784)
> [ 13.366878] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007
> [ 13.366878]
>
> ==================================
>
> Best regards,
> Krzysztof
>
>
>> diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
>> index aa7a7d7..db2c1c4 100644
>> --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
>> +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
>> @@ -372,3 +372,7 @@
>> &usbdrd_dwc3_1 {
>> dr_mode = "host";
>> };
>> +
>> +&cci {
>> + status = "disabled";
>> +};
>> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
>> index 517e50f..0a82ae7 100644
>> --- a/arch/arm/boot/dts/exynos5420.dtsi
>> +++ b/arch/arm/boot/dts/exynos5420.dtsi
>> @@ -120,7 +120,7 @@
>> };
>> };
>>
>> - cci at 10d20000 {
>> + cci: cci at 10d20000 {
>> compatible = "arm,cci-400";
>> #address-cells = <1>;
>> #size-cells = <1>;
>
More information about the linux-arm-kernel
mailing list