ARM: dts: aspeed: Rework APB nodes
The way the APB nodes are currently described causes excessive output
from `make dtbs_check` (approximately 30KB per devicetree). This stems
from nesting the apb nodes under the top-level ahb nodes, while the
simple-bus binding requires that the ahb subnode names contain a unit
address[1].
In the process of cleaning this up, it became apparent that both the
APB descriptions in the devicetree and datasheet were pretty murky.
I followed up with Troy Lee and Ryan Chen, and received the following
from Ryan:
> Sorry, I double confirm with designer.
> AST2400/AST2500/AST2600: 1e6exxxx, 1e6fxxxx, 1e78xxxx, 1e79xxxx : APB,
> others is AHB
As a result, update the Aspeed DTSIs to describe one APB node per
mapping listed in Ryan's response, and lift all controllers that are not
in the described ranges out of the APB nodes to the AHB node.
This change may impact OpenBMC userspace applications that use
devicetree paths in sysfs to identify hardware components. However,
these uses of sysfs were previously identified as incorrect[2][3][4].
Its expected that any affected applications will reworked so they are
not sensitive to node renames.
Cc: Andrew Geissler <geissonator@yahoo.com>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Rob Herring (Arm) <robh@kernel.org>
Cc: Ryan Chen <ryan_chen@aspeedtech.com>
Cc: Troy Lee <troy_lee@aspeedtech.com>
Link: https://github.com/devicetree-org/dt-schema/blob/c51125d571cac9596048e888a856d70650e400e0/dtschema/schemas/simple-bus.yaml#L35-L36 [1]
Link: https://github.com/openbmc/phosphor-state-manager/issues/27 [2]
Link: https://lore.kernel.org/all/20240531193115.3814887-1-robh@kernel.org/ [3]
Link: https://lore.kernel.org/all/8dabf3d1-2d23-4adc-a804-2b7aa5fe16e9@kernel.org/ [4]
Link: https://patch.msgid.link/r/20240821-dt-warnings-apb-nodes-v1-1-c524923acca5@codeconstruct.com.au
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
3 files changed