On Sat, Sep 19, 2020 at 2:23 PM Christian Lamparter <chunkeey@xxxxxxxxx> wrote: > > On 2020-09-15 03:05, Rob Herring wrote: > > On Sun, Sep 06, 2020 at 12:06:12AM +0200, Christian Lamparter wrote: > >> 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 <chrisrblake93@xxxxxxxxx> > >> Signed-off-by: Christian Lamparter <chunkeey@xxxxxxxxx> > >> --- > >> 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.dtsi > >> > >> diff --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@xxxxxxx>, > >> + * Christian Lamparter <chunkeey@xxxxxxxxx>, > >> + * Chris Blake <chrisrblake93@xxxxxxxxx> > >> + */ > >> + > >> +#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