cancel
Showing results for 
Search instead for 
Did you mean: 

How to configuration for STM32MP151

bkwak
Associate II

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?

1 ACCEPTED SOLUTION

Accepted Solutions
UWeis.1
Associate

​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

View solution in original post

3 REPLIES 3
Christophe Guibout
ST Employee

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

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Olivier GALLIEN
ST Employee

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

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
UWeis.1
Associate

​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