Re: [PATCH v3 2/5] powerpc: apm82181: create shared dtsi for APM bluestone
From: Rob Herring <robh@kernel.org>
Date: 2020-09-22 19:14:56
Also in:
linux-devicetree
On Sat, Sep 19, 2020 at 2:23 PM Christian Lamparter [off-list ref] wrote:
On 2020-09-15 03:05, Rob Herring wrote:quoted
On Sun, Sep 06, 2020 at 12:06:12AM +0200, Christian Lamparter wrote:quoted
This patch adds an DTSI-File that can be used by various device-tree files for APM82181-based devices. Some of the nodes (like UART, PCIE, SATA) are used by the uboot and need to stick with the naming-conventions of the old times'. I've added comments whenever this was the case. Signed-off-by: Chris Blake <redacted> Signed-off-by: Christian Lamparter <redacted> --- rfc v1 -> v2: - removed PKA (this CryptoPU will need driver) - stick with compatibles, nodes, ... from either Bluestone (APM82181) or Canyonlands (PPC460EX). - add labels for NAND and NOR to help with access. v2 -> v3: - nodename of pciex@d.... was changed to pcie@d.. due to upstream patch. - use simple-bus on the ebc, opb and plb nodes --- arch/powerpc/boot/dts/apm82181.dtsi | 466 ++++++++++++++++++++++++++++ 1 file changed, 466 insertions(+) create mode 100644 arch/powerpc/boot/dts/apm82181.dtsidiff --git a/arch/powerpc/boot/dts/apm82181.dtsi b/arch/powerpc/boot/dts/apm82181.dtsi new file mode 100644 index 000000000000..60283430978d --- /dev/null +++ b/arch/powerpc/boot/dts/apm82181.dtsi@@ -0,0 +1,466 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Device Tree template include for various APM82181 boards. + * + * The SoC is an evolution of the PPC460EX predecessor. + * This is why dt-nodes from the canyonlands EBC, OPB, USB, + * DMA, SATA, EMAC, ... ended up in here. + * + * Copyright (c) 2010, Applied Micro Circuits Corporation + * Author: Tirumala R Marri <tmarri@apm.com>, + * Christian Lamparter <chunkeey@gmail.com>, + * Chris Blake <chrisrblake93@gmail.com> + */ + +#include <dt-bindings/dma/dw-dmac.h> +#include <dt-bindings/input/input.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/gpio/gpio.h> + +/ { + #address-cells = <2>; + #size-cells = <1>; + dcr-parent = <&{/cpus/cpu@0}>; + + aliases { + ethernet0 = &EMAC0; /* needed for BSP u-boot */ + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + CPU0: cpu@0 { + device_type = "cpu"; + model = "PowerPC,apm82181";This doesn't match the existing bluestone dts file. Please separate any restructuring from changes."I see" (I'm including your comment of the dt-binding as well). I'm getting the vibe that I better should not touch that bluestone.dts.
I don't know about that.
An honestly, looking at the series and patches that the APM-engineers posted back in the day, I can see why this well is so poisoned... and stuff like SATA/AHBDMA/USB/GPIO/CPM/... was missing. As for the devices. In the spirit of Arnd Bergmann's post of <https://lkml.org/lkml/2020/3/30/195> |It would be nice to move over the the bluestone .dts to the apm82181.dtsi file |when that gets added, if only to ensure they use the same description for each |node, but that shouldn't stop the addition of the new file if that is needed for |distros to make use of a popular device. |I see a couple of additional files in openwrt. I mean I don't have the bluestone dev board, just the consumer devices.
This stuff is old enough, I'd guess no one cares about a dev board. But we should figure that out and document that with any changes.
Would it be possible to support those? I can start from a "skeleton" apm82181.dtsi This would just include CPU, Memory (SD-RAM+L2C+OCM), UIC (Interrupt-Controller), the PLB+OBP+EBC Busses and UART. Just enough to make a board "boot from ram".
This skeleton would be chunks moved over or duplicated? I don't think we want 2 of the same thing. The order I would go is split into an apm82181.dtsi with 0 changes to the built dtb(s). Then make changes/additions you need. As far as changes to existing bindings, it's only an ABI if someone notices. Rob