OSD32MP157F-512M-BAA Device Tree Changes

Forums Devices OSD32MP15x OSD32MP157F-512M-BAA Device Tree Changes

Viewing 2 reply threads
  • Author
    Posts
    • #12062
      Matthew Larkinmlarkin
      Participant

        Hello,

        I have the parts listed in the title, OSD32MP157F-512M-BAA.

        Can you provide insight on how the device tree needs to change? I know it is relative to the opp table and CPU frequency, but unsure of what is causing the below issue. cpu0_opp_table does not exist in the latest device trees for the red board as an example.

        This below link implies no support for the 800MHz clock parts. Suggestions?
        https://elixir.bootlin.com/linux/v5.10.65/source/arch/arm/boot/dts/stm32mp151.dtsi#L18

        Error is below:

        [ 4.501186] ————[ cut here ]————
        [ 4.504378] WARNING: CPU: 1 PID: 23 at drivers/opp/of.c:874 _of_add_opp_table_v2+0x118/0x158
        [ 4.512870] Modules linked in:
        [ 4.515853] CPU: 1 PID: 23 Comm: kworker/1:1 Not tainted 5.10.10-lmp-standard #1
        [ 4.523243] Hardware name: STM32 (Device Tree Support)
        [ 4.528398] Workqueue: events deferred_probe_work_func
        [ 4.533516] Backtrace:
        [ 4.535968] [<c0d9aaf4>] (dump_backtrace) from [<c0d9b0e8>] (show_stack+0x20/0x24)
        [ 4.543537] r7:0000036a r6:60000013 r5:00000000 r4:c13bf5d0
        [ 4.549199] [<c0d9b0c8>] (show_stack) from [<c0da16d8>] (dump_stack+0xbc/0xd0)
        [ 4.556428] [<c0da161c>] (dump_stack) from [<c0128370>] (__warn+0xfc/0x158)
        [ 4.563384] r7:0000036a r6:00000009 r5:c0b1595c r4:c10f1fb0
        [ 4.569047] [<c0128274>] (__warn) from [<c0d9b834>] (warn_slowpath_fmt+0x8c/0xc0)
        [ 4.576529] r7:0000036a r6:c10f1fb0 r5:00000000 r4:c1ae6000
        [ 4.582193] [<c0d9b7ac>] (warn_slowpath_fmt) from [<c0b1595c>] (_of_add_opp_table_v2+0x118/0x158)
        [ 4.591070] r9:00000001 r8:d3aca010 r7:d3aca010 r6:c3026000 r5:00000000 r4:fffffffe
        [ 4.598818] [<c0b15844>] (_of_add_opp_table_v2) from [<c0b159e4>] (dev_pm_opp_of_add_table+0x48/0x78)
        [ 4.608041] r7:c13050b8 r6:c3052200 r5:d3aca010 r4:c3026000
        [ 4.613703] [<c0b1599c>] (dev_pm_opp_of_add_table) from [<c0b15a50>] (dev_pm_opp_of_cpumask_add_table.part.0+0x3c/0xdc)
        [ 4.624488] r5:c3052200 r4:00000000
        [ 4.628066] [<c0b15a14>] (dev_pm_opp_of_cpumask_add_table.part.0) from [<c0b15b14>] (dev_pm_opp_of_cpumask_add_table+0x24/0x44)
        [ 4.639551] r7:c13faca4 r6:c1ae6000 r5:c3052200 r4:c3091340
        [ 4.645214] [<c0b15af0>] (dev_pm_opp_of_cpumask_add_table) from [<c0b1e7ec>] (cpufreq_init+0xc0/0x22c)
        [ 4.654529] [<c0b1e72c>] (cpufreq_init) from [<c0b1aec0>] (cpufreq_online+0x160/0x634)
        [ 4.662448] r10:00000000 r9:00000001 r8:c143f188 r7:c1305550 r6:c12a30c0 r5:00000000
        [ 4.670273] r4:c3052200
        [ 4.672809] [<c0b1ad60>] (cpufreq_online) from [<c0b1b454>] (cpufreq_add_dev+0xa0/0xd4)
        [ 4.680816] r10:00000000 r9:00000000 r8:c13fa84c r7:c143f188 r6:c1ae6000 r5:c13d6e28
        [ 4.688640] r4:00000000
        [ 4.691175] [<c0b1b3b4>] (cpufreq_add_dev) from [<c0831bd8>] (subsys_interface_register+0x11c/0x12c)
        [ 4.700304] r4:c13fa9d0
        [ 4.702838] [<c0831abc>] (subsys_interface_register) from [<c0b17bb4>] (cpufreq_register_driver+0x170/0x3a4)
        [ 4.712668] r6:c13050b8 r5:c1486328 r4:c13fad14
        [ 4.717286] [<c0b17a44>] (cpufreq_register_driver) from [<c0b1e6dc>] (dt_cpufreq_probe+0xc0/0xf4)
        [ 4.726163] r8:c1b57400 r7:c1b57410 r6:c13050b8 r5:c1304f94 r4:00000002
        [ 4.732870] [<c0b1e61c>] (dt_cpufreq_probe) from [<c08365b8>] (platform_drv_probe+0x58/0xa8)
        [ 4.741312] r10:c1431ac0 r9:c13facb8 r8:00000000 r7:c14820a8 r6:c13facb8 r5:c1b57410
        [ 4.749139] r4:00000000 r3:c0b1e61c
        [ 4.752715] [<c0836560>] (platform_drv_probe) from [<c08338a0>] (really_probe+0x11c/0x544)
        [ 4.760980] r7:c14820a8 r6:00000000 r5:c14820a0 r4:c1b57410
        [ 4.766643] [<c0833784>] (really_probe) from [<c083410c>] (driver_probe_device+0x88/0x174)
        [ 4.774911] r10:c1423940 r9:00000000 r8:00000001 r7:c1b57410 r6:c13facb8 r5:c1431ac0
        [ 4.782735] r4:c1b57410
        [ 4.785268] [<c0834084>] (driver_probe_device) from [<c0834414>] (__device_attach_driver+0xa8/0x114)
        [ 4.794405] r8:00000001 r7:c1b57410 r6:c1ae7e7c r5:c13facb8 r4:00000001
        [ 4.801108] [<c083436c>] (__device_attach_driver) from [<c08312d4>] (bus_for_each_drv+0x94/0xd8)
        [ 4.809895] r7:c083436c r6:c1ae6000 r5:c1ae7e7c r4:00000000
        [ 4.815555] [<c0831240>] (bus_for_each_drv) from [<c0833da4>] (__device_attach+0xdc/0x1dc)
        [ 4.823820] r7:c1b57454 r6:c1b57410 r5:c1ae6000 r4:c1b57410
        [ 4.829481] [<c0833cc8>] (__device_attach) from [<c083449c>] (device_initial_probe+0x1c/0x20)
        [ 4.838009] r8:c1096f80 r7:c1431ac0 r6:c1b57410 r5:c13d6d78 r4:c1b57410
        [ 4.844713] [<c0834480>] (device_initial_probe) from [<c0832638>] (bus_probe_device+0x94/0x9c)
        [ 4.853330] [<c08325a4>] (bus_probe_device) from [<c0832b5c>] (deferred_probe_work_func+0x8c/0xcc)
        [ 4.862292] r7:c1431ac0 r6:c13d6ad0 r5:c13d6abc r4:c1b57410
        [ 4.867956] [<c0832ad0>] (deferred_probe_work_func) from [<c0148e3c>] (process_one_work+0x1f4/0x5e0)
        [ 4.877092] r9:00000000 r8:00000000 r7:d3aecd00 r6:d3ae9ac0 r5:c1aa2200 r4:c13d6afc
        [ 4.884840] [<c0148c48>] (process_one_work) from [<c0149468>] (worker_thread+0x240/0x4b8)
        [ 4.893023] r10:d3ae9ac0 r9:c1303d00 r8:c1ae6000 r7:d3ae9ad8 r6:c1aa2214 r5:d3ae9ac0
        [ 4.900848] r4:c1aa2200
        [ 4.903384] [<c0149228>] (worker_thread) from [<c014fb14>] (kthread+0x170/0x188)
        [ 4.910779] r10:c1ac2a24 r9:c1aa2200 r8:c0149228 r7:c197de5c r6:c1ae6000 r5:c1aa0180
        [ 4.918603] r4:c1ac2a00
        [ 4.921138] [<c014f9a4>] (kthread) from [<c0100148>] (ret_from_fork+0x14/0x2c)
        [ 4.928352] Exception stack(0xc1ae7fb0 to 0xc1ae7ff8)
        [ 4.933404] 7fa0: 00000000 00000000 00000000 00000000
        [ 4.941588] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        [ 4.949768] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000
        [ 4.956386] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c014f9a4
        [ 4.964213] r4:c1aa0180 r3:00000000
        [ 4.967860] —[ end trace 2d1a4f040861cd36 ]—
        [ 4.972443] cpu cpu0: OPP table can’t be empty
        [ 4.977029] ————[ cut here ]————

      • #12068
        Matthew Larkinmlarkin
        Participant

          Alright, was able to figure this out.

          Needed to include “stm32mp15xf.dtsi” in tf-a, u-boot, and linux device trees.

        • #12069
          Neeraj Dantu
          Moderator

            mlarkin,

            Please take a look at the Migration guide for OSD32MP1 family: https://octavosystems.com/app_notes/osd32mp1-variant-migration-guide/. https://github.com/STMicroelectronics/linux/blob/v5.10-stm32mp/arch/arm/boot/dts/stm32mp15xf.dtsi shows the entry for 800MHz setting. Note that this is ST’s kernel and not mainline.

            Best,
            Neeraj

        Viewing 2 reply threads
        • You must be logged in to reply to this topic.