• Nishanth Menon's avatar
    arm64: dts: ti: k3-j721e*: Cleanup disabled nodes at SoC dtsi level · 5d1bedf2
    Nishanth Menon authored
    The device tree standard states that when the status property is
    not present under a node, the okay value is assumed. There are many
    reasons for doing the same, the number of strings in the device
    tree, default power management functionality, etc. are a few of the
    reasons.
    
    In general, after a few rounds of discussions [1] there are few
    options one could take when dealing with SoC dtsi and board dts
    
    a. SoC dtsi provide nodes as a super-set default (aka enabled) state and
       to prevent messy board files, when more boards are added per SoC, we
       optimize and disable commonly un-used nodes in board-common.dtsi
    b. SoC dtsi disables all hardware dependent nodes by default and board
       dts files enable nodes based on a need basis.
    c. Subjectively pick and choose which nodes we will disable by default
       in SoC dtsi and over the years we can optimize things and change
       default state depending on the need.
    
    While there are pros and cons on each of these approaches, the right
    thing to do will be to stick with device tree default standards and
    work within those established rules. So, we choose to go with option
    (a).
    
    Lets cleanup defaults of j721e SoC dtsi before this gets more harder
    to cleanup later on and new SoCs are added.
    
    The only functional difference between the dtb generated is
    status='okay' is no longer necessary for mcasp10 and depends on the
    default state.
    
    NOTE: There is a known risk of omission that new board dts developers
    might miss reviewing both the board schematics in addition to all the
    DT nodes of the SoC when setting appropriate nodes status to disable
    or reserved in the board dts. This can expose issues in drivers that
    may not anticipate an incomplete node (example: missing appropriate
    board properties) being in an "okay" state. These cases are considered
    bugs and need to be fixed in the drivers as and when identified.
    
    [1] https://lore.kernel.org/linux-arm-kernel/20201027130701.GE5639@atomide.com/Signed-off-by: default avatarNishanth Menon <nm@ti.com>
    Reviewed-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    Reviewed-by: default avatarTony Lindgren <tony@atomide.com>
    Cc: Jyri Sarha <jsarha@ti.com>
    Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
    Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Cc: Tony Lindgren <tony@atomide.com>
    Link: https://lore.kernel.org/r/20201113211826.13087-3-nm@ti.com
    5d1bedf2
k3-j721e-common-proc-board.dts 14.9 KB