2020-06-09 03:10 AM
I want to change the environment with STM32MP151.
but I can't find about this information ,
question
1) How to configure STM32MP151 for uboot ?
how to change to single core from dual core ?
2) How to configure STM32MP151 for linux kernel?
3) Is it possible to test the operation by setting the dual core of the STM32MP157C-DK2 to single core?
Solved! Go to Solution.
2020-06-10 05:07 AM
Hello,
i need to change the chip and the package:
MP157 -> MP151 and STM32MP15xxAA: TFBGA448 18x18 -> STM32MP15xxAB: LFBGA354 16x16
I followed this recommendation https://community.st.com/s/article/FAQ-STM32MP1-how-to-adapt-DT-to-MP151-and-MP153
It was also nessesary to blacklist the device_id in drivers/cpufreq/cpufreq-dt-platdev.c
static const struct of_device_id blacklist[] __initconst = {
...
{ .compatible = "st,stm32mp157", },
+++ { .compatible = "st,stm32mp151", },
…
Are there some other actions necessary?
The driver tries to load the pinctrl-z, which is not avalaible in this package?
Hopefully that's not the cause of other problems.
stm32mp157-pinctrl soc:pin-controller-z@54004000: No package detected, use default one
stm32mp157-pinctrl soc:pin-controller-z@54004000: at least one GPIO bank is required
stm32mp157-pinctrl: probe of soc:pin-controller-z@54004000 failed with error -22
Next is a problem with the Interrupt?:
[ 1.508663] stpmic1 1-0033: PMIC Chip Version: 0x21
[ 1.514297] BUCK1: supplied by regulator-dummy
[ 1.520372] BUCK2: supplied by regulator-dummy
[ 1.526303] BUCK3: supplied by regulator-dummy
[ 1.532204] BUCK4: supplied by regulator-dummy
[ 1.542394] ------------[ cut here ]------------
[ 1.545556] WARNING: CPU: 0 PID: 0 at kernel/sched/core.c:3260 of_find_node_by_phandle+0xc4/0x13c
[ 1.554408] Unable to handle kernel NULL pointer dereference at virtual address 000000c8
[ 1.554418] pgd = 704b3cd0
[ 1.554423] [000000c8] *pgd=00000000
[ 1.554436] Internal error: Oops: 5 [#1] PREEMPT ARM
[ 1.554443] Modules linked in:
[ 1.554456] CPU: 0 PID: 0 Comm: Not tainted 4.19.94 #19
[ 1.554460] Hardware name: Generic DT based system
[ 1.554472] PC is at account_system_index_time+0x30/0xf4
[ 1.554480] LR is at account_system_time+0x7c/0x90
[ 1.554486] pc : [<c014ec18>] lr : [<c014ed58>] psr: 00000193
[ 1.554491] sp : d309fd58 ip : d309e090 fp : c018fe64
[ 1.554496] r10: ffffe000 r9 : ffffe000 r8 : c0ea3d94
[ 1.554501] r7 : 00000002 r6 : d309e090 r5 : 00000000 r4 : 00989680
[ 1.554507] r3 : 00000000 r2 : 00000000 r1 : 00000002 r0 : d309e090
[ 1.554515] Flags: nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[ 1.554521] Control: 10c53c7d Table: c0004059 DAC: 00000051
[ 1.554527] Process (pid: 0, stack limit = 0x05296946)
[ 1.554534] Stack: (0xd309fd58 to 0x613d6e4f)
Any recommendations?
Are the new dts files already available for test?
best regards
Ulrich
2020-06-09 03:26 AM
Hi @bkwak ,
1) default config is generic for all STM32MP15x
2) Not sure to catch the question, but if your board contains a STM32MP151, its kernel device tree needs to inherit from stm32mp151.dtsi.
3 Yes, second CPU of the STM32MP157C-DK2 can easily be "unplugged" by executing the following command in the kernel console :
echo 0 > /sys/devices/system/cpu/cpu1/online
BR,
Christophe
2020-06-09 06:59 AM
Hi @bkwak
@Christophe Guibout antipate a bit what we target to deliver mid-july in coming V2.0 release and which simplify adaptation to mp151.
In the meantime using V1.2 you can refer to this article :
https://community.st.com/s/article/FAQ-STM32MP1-how-to-adapt-DT-to-MP151-and-MP153
Olivier
2020-06-10 05:07 AM
Hello,
i need to change the chip and the package:
MP157 -> MP151 and STM32MP15xxAA: TFBGA448 18x18 -> STM32MP15xxAB: LFBGA354 16x16
I followed this recommendation https://community.st.com/s/article/FAQ-STM32MP1-how-to-adapt-DT-to-MP151-and-MP153
It was also nessesary to blacklist the device_id in drivers/cpufreq/cpufreq-dt-platdev.c
static const struct of_device_id blacklist[] __initconst = {
...
{ .compatible = "st,stm32mp157", },
+++ { .compatible = "st,stm32mp151", },
…
Are there some other actions necessary?
The driver tries to load the pinctrl-z, which is not avalaible in this package?
Hopefully that's not the cause of other problems.
stm32mp157-pinctrl soc:pin-controller-z@54004000: No package detected, use default one
stm32mp157-pinctrl soc:pin-controller-z@54004000: at least one GPIO bank is required
stm32mp157-pinctrl: probe of soc:pin-controller-z@54004000 failed with error -22
Next is a problem with the Interrupt?:
[ 1.508663] stpmic1 1-0033: PMIC Chip Version: 0x21
[ 1.514297] BUCK1: supplied by regulator-dummy
[ 1.520372] BUCK2: supplied by regulator-dummy
[ 1.526303] BUCK3: supplied by regulator-dummy
[ 1.532204] BUCK4: supplied by regulator-dummy
[ 1.542394] ------------[ cut here ]------------
[ 1.545556] WARNING: CPU: 0 PID: 0 at kernel/sched/core.c:3260 of_find_node_by_phandle+0xc4/0x13c
[ 1.554408] Unable to handle kernel NULL pointer dereference at virtual address 000000c8
[ 1.554418] pgd = 704b3cd0
[ 1.554423] [000000c8] *pgd=00000000
[ 1.554436] Internal error: Oops: 5 [#1] PREEMPT ARM
[ 1.554443] Modules linked in:
[ 1.554456] CPU: 0 PID: 0 Comm: Not tainted 4.19.94 #19
[ 1.554460] Hardware name: Generic DT based system
[ 1.554472] PC is at account_system_index_time+0x30/0xf4
[ 1.554480] LR is at account_system_time+0x7c/0x90
[ 1.554486] pc : [<c014ec18>] lr : [<c014ed58>] psr: 00000193
[ 1.554491] sp : d309fd58 ip : d309e090 fp : c018fe64
[ 1.554496] r10: ffffe000 r9 : ffffe000 r8 : c0ea3d94
[ 1.554501] r7 : 00000002 r6 : d309e090 r5 : 00000000 r4 : 00989680
[ 1.554507] r3 : 00000000 r2 : 00000000 r1 : 00000002 r0 : d309e090
[ 1.554515] Flags: nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[ 1.554521] Control: 10c53c7d Table: c0004059 DAC: 00000051
[ 1.554527] Process (pid: 0, stack limit = 0x05296946)
[ 1.554534] Stack: (0xd309fd58 to 0x613d6e4f)
Any recommendations?
Are the new dts files already available for test?
best regards
Ulrich