Message ID | 20230309213501.794764-1-bero@baylibre.com |
---|---|
Headers | show |
Series | Add minimal MT8365 and MT8365-EVK support | expand |
Bernhard Rosenkränzer <bero@baylibre.com> writes: > From: Fabien Parent <fparent@baylibre.com> > > This adds minimal support for the Mediatek 8365 SOC and the EVK reference > board, allowing the board to boot to initramfs with serial port I/O. > > Signed-off-by: Fabien Parent <fparent@baylibre.com> > [bero@baylibre.com: Removed parts depending on drivers that aren't upstream yet, cleanups, add CPU cache layout, add systimer, fix GIC] > Signed-off-by: Bernhard Rosenkränzer <bero@baylibre.com> > [aouledameur@baylibre.com: Fix systimer properties] > Signed-off-by: Amjad Ouled-Ameur <aouledameur@baylibre.com> > Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com> > Tested-by: Kevin Hilman <khilman@baylibre.com> > Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Tested (again) and things are working well. This is the last patch remaining to be merged. As soon as this lands in linux-next, I'll add this board to my KernelCI lab. Kevin
Hello, A bit of a late reply, but I've just noticed an issue related to this patch. On Thu, Mar 09, 2023 at 10:35:01PM +0100, Bernhard Rosenkränzer wrote: > From: Fabien Parent <fparent@baylibre.com> > > This adds minimal support for the Mediatek 8365 SOC and the EVK reference > board, allowing the board to boot to initramfs with serial port I/O. > > Signed-off-by: Fabien Parent <fparent@baylibre.com> > [bero@baylibre.com: Removed parts depending on drivers that aren't upstream yet, cleanups, add CPU cache layout, add systimer, fix GIC] > Signed-off-by: Bernhard Rosenkränzer <bero@baylibre.com> > [aouledameur@baylibre.com: Fix systimer properties] > Signed-off-by: Amjad Ouled-Ameur <aouledameur@baylibre.com> > Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com> > Tested-by: Kevin Hilman <khilman@baylibre.com> > Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > --- > arch/arm64/boot/dts/mediatek/Makefile | 1 + > arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 168 +++++++++ > arch/arm64/boot/dts/mediatek/mt8365.dtsi | 377 ++++++++++++++++++++ > 3 files changed, 546 insertions(+) > create mode 100644 arch/arm64/boot/dts/mediatek/mt8365-evk.dts > create mode 100644 arch/arm64/boot/dts/mediatek/mt8365.dtsi [snip] > diff --git a/arch/arm64/boot/dts/mediatek/mt8365.dtsi b/arch/arm64/boot/dts/mediatek/mt8365.dtsi > new file mode 100644 > index 0000000000000..351197c453c91 > --- /dev/null > +++ b/arch/arm64/boot/dts/mediatek/mt8365.dtsi > @@ -0,0 +1,377 @@ > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > +/* > + * (C) 2018 MediaTek Inc. > + * Copyright (C) 2022 BayLibre SAS > + * Fabien Parent <fparent@baylibre.com> > + * Bernhard Rosenkränzer <bero@baylibre.com> > + */ > +#include <dt-bindings/clock/mediatek,mt8365-clk.h> > +#include <dt-bindings/interrupt-controller/arm-gic.h> > +#include <dt-bindings/interrupt-controller/irq.h> > +#include <dt-bindings/phy/phy.h> > + > +/ { [snip] > + soc { [snip] > + infracfg: syscon@10001000 { > + compatible = "mediatek,mt8365-infracfg", "syscon"; > + reg = <0 0x10001000 0 0x1000>; > + #clock-cells = <1>; > + }; [snip] > + infracfg_nao: infracfg@1020e000 { > + compatible = "mediatek,mt8365-infracfg", "syscon"; > + reg = <0 0x1020e000 0 0x1000>; > + #clock-cells = <1>; > + }; These two nodes cause the infracfg clocks to be registered twice, with the second probe of the clk-mt8365 driver failing with -EEXIST. [snip] > + }; [snip] > +};
On Mon, Oct 16, 2023 at 04:48:06PM +0300, Laurent Pinchart wrote: > Hello, > > A bit of a late reply, but I've just noticed an issue related to this > patch. > > On Thu, Mar 09, 2023 at 10:35:01PM +0100, Bernhard Rosenkränzer wrote: > > From: Fabien Parent <fparent@baylibre.com> > > > > This adds minimal support for the Mediatek 8365 SOC and the EVK reference > > board, allowing the board to boot to initramfs with serial port I/O. > > > > Signed-off-by: Fabien Parent <fparent@baylibre.com> > > [bero@baylibre.com: Removed parts depending on drivers that aren't upstream yet, cleanups, add CPU cache layout, add systimer, fix GIC] > > Signed-off-by: Bernhard Rosenkränzer <bero@baylibre.com> > > [aouledameur@baylibre.com: Fix systimer properties] > > Signed-off-by: Amjad Ouled-Ameur <aouledameur@baylibre.com> > > Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com> > > Tested-by: Kevin Hilman <khilman@baylibre.com> > > Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > > --- > > arch/arm64/boot/dts/mediatek/Makefile | 1 + > > arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 168 +++++++++ > > arch/arm64/boot/dts/mediatek/mt8365.dtsi | 377 ++++++++++++++++++++ > > 3 files changed, 546 insertions(+) > > create mode 100644 arch/arm64/boot/dts/mediatek/mt8365-evk.dts > > create mode 100644 arch/arm64/boot/dts/mediatek/mt8365.dtsi > > [snip] > > > diff --git a/arch/arm64/boot/dts/mediatek/mt8365.dtsi b/arch/arm64/boot/dts/mediatek/mt8365.dtsi > > new file mode 100644 > > index 0000000000000..351197c453c91 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/mediatek/mt8365.dtsi > > @@ -0,0 +1,377 @@ > > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > > +/* > > + * (C) 2018 MediaTek Inc. > > + * Copyright (C) 2022 BayLibre SAS > > + * Fabien Parent <fparent@baylibre.com> > > + * Bernhard Rosenkränzer <bero@baylibre.com> > > + */ > > +#include <dt-bindings/clock/mediatek,mt8365-clk.h> > > +#include <dt-bindings/interrupt-controller/arm-gic.h> > > +#include <dt-bindings/interrupt-controller/irq.h> > > +#include <dt-bindings/phy/phy.h> > > + > > +/ { > > [snip] > > > + soc { > > [snip] > > > + infracfg: syscon@10001000 { > > + compatible = "mediatek,mt8365-infracfg", "syscon"; > > + reg = <0 0x10001000 0 0x1000>; > > + #clock-cells = <1>; > > + }; > > [snip] > > > + infracfg_nao: infracfg@1020e000 { > > + compatible = "mediatek,mt8365-infracfg", "syscon"; > > + reg = <0 0x1020e000 0 0x1000>; > > + #clock-cells = <1>; > > + }; > > These two nodes cause the infracfg clocks to be registered twice, with > the second probe of the clk-mt8365 driver failing with -EEXIST. These are the messages printed by v6.6-rc6: [ 0.540254] Failed to register clk ifr_pmic_tmr: -EEXIST [ 0.541003] clk-mt8365: probe of 1020e000.infracfg failed with error -17 > [snip] > > > + }; > > [snip] > > > +};
v11: - Fix typo in systimer (Thanks Angelo) v10: - Fix systimer properties (Thanks Amjad) - Drop components of the patchset that have already been merged v9: - Fix a regression in v8 that broke the USB port - Remove superfluous include in mt8365.dtsi - Fix some naming issues pointed out by dtbs_check v8: - Add binding descriptions for mediatek,mt8365-systimer and mediatek,mt8365-uart - Specify ranges with parameters for u3phy Tested-by: Kevin Hilman <khilman@baylibre.com> v7: - Update GIC information in mt8365.dtsi (thanks to Marc Zyngier for pointing out the problem) - Adjust the timer to match the updated GIC information v6: - Add systimer in mt8365.dtsi - Add I/D caches and L2 cache details in mt8365.dtsi - Move bl31_secmon_reserved from mt8365.dtsi to mt8365-evk.dts - Fix inconsistent indentation in mt8365-pinctrl example - Further mt8365.dtsi cleanups - Submit to additional maintainers spotted by get_maintainer.pl v5: - Reorder top-level entries in mediatek,mt8365-pinctrl.yaml to match example-schema - Use consistent quotes v4: - Remove pins-are-numbered references that have been holding things up now that the patches removing it from dt-bindings have landed in linux-next v3: - Remove a number of components that are not yet supported (they will come back alongside the corresponding drivers) - Address issues found by dt_binding_check (mostly fixing pinctrl bindings) - Address issues pointed out in comments - Reorder patches v2: - Add missing dt-bindings documentation - Small cleanups addressing issues in v1 pointed out by Krzysztof Kozlowski Bernhard Rosenkränzer (2): dt-bindings: irq: mtk, sysirq: add support for mt8365 dt-bindings: serial: mediatek,uart: add MT8365 Fabien Parent (1): arm64: dts: mediatek: Initial mt8365-evk support .../interrupt-controller/mediatek,sysirq.txt | 1 + .../bindings/serial/mediatek,uart.yaml | 1 + arch/arm64/boot/dts/mediatek/Makefile | 1 + arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 168 ++++++++ arch/arm64/boot/dts/mediatek/mt8365.dtsi | 377 ++++++++++++++++++ 5 files changed, 548 insertions(+) create mode 100644 arch/arm64/boot/dts/mediatek/mt8365-evk.dts create mode 100644 arch/arm64/boot/dts/mediatek/mt8365.dtsi