]> git.dujemihanovic.xyz Git - u-boot.git/commit
drivers: firmware: ti_sci: Get SCI revision only if TIFS/SYSFW is up
authorNeha Malcom Francis <n-francis@ti.com>
Wed, 27 Sep 2023 13:09:53 +0000 (18:39 +0530)
committerTom Rini <trini@konsulko.com>
Wed, 4 Oct 2023 18:16:01 +0000 (14:16 -0400)
commita9c2b7326bd0986416113a8cfa1367d221720e50
treec7230135c5b9975ebc48e245944e47c3f847e2ec
parent50fa67d091b6ffbc1d77d3100d7b31795bf64928
drivers: firmware: ti_sci: Get SCI revision only if TIFS/SYSFW is up

When setting up boot media to load the TIFS binary in legacy boot flow
(followed by J721E), get_timer() is called which calls dm_timer_init()
which then gets the tick-timer: mcu_timer0. mcu_timer0 uses k3_clks
(clock controller) and k3_pds (power controller) from the dmsc node that
forces probe of the ti_sci driver of TIFS that hasn't been loaded yet!
Running ti_sci_cmd_get_revision from the probe leads to panic since no
TIFS and board config binaries have been loaded yet. Resolve this by
moving ti_sci_cmd_get_revision to ti_sci_get_handle_from_sysfw as a
common point of invocation for both legacy and combined boot flows.

Before doing this, it is important to go through whether any sync points
exist where revision is needed before ti_sci_get_handle_from_sysfw is
invoked. Going through the code along with boot tests on both flows
ensures that there are none.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
drivers/firmware/ti_sci.c