]> git.baikalelectronics.ru Git - uboot.git/commit
board: traverse: ten64: ensure retimer reset is done on new board revisions
authorMathew McBride <matt@traverse.com.au>
Fri, 21 Jul 2023 04:39:17 +0000 (04:39 +0000)
committerTom Rini <trini@konsulko.com>
Thu, 3 Aug 2023 13:40:50 +0000 (09:40 -0400)
commit48591497fd40aecbde807a66d19fa218d51c9780
treecf6f6aa2444c6da3529ffa19d211af52e2a58b1b
parente3200d5cee0f18cac36a288659575b2609d31710
board: traverse: ten64: ensure retimer reset is done on new board revisions

Board revision C (production) and later require the SFP+
retimer to be turned on (or reset) on boot, by way of issuing
a command to the board's microcontroller (via I2C).

The comparison statement here was incorrect, as the board
ID decrements every revision (from 0xFF downwards),
so this was matching board RevA,B,C instead of Rev >= C.

Another oops that transpired when working on this issue,
is that if the board controller is not called (such as
CONFIG_TEN64_CONTROLLER=n or earlier board rev), then
the retimer udevice was not obtained. So the board
version check has to be moved inside board_cycle_retimer
(which probes/fetches the retimer device) as well.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
board/traverse/ten64/ten64.c