Re: [PATCH] arm64: dts: imx8mn: Fix duplicate node name
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2020-12-08 08:51:11
Also in:
linux-devicetree, lkml
On Tue, Dec 08, 2020 at 08:44:51AM +0000, S.j. Wang wrote:
quoted
quoted
quoted
quoted
On Mon, Dec 07, 2020 at 02:21:40PM +0100, Krzysztof Kozlowski wrote:quoted
On Mon, Dec 07, 2020 at 02:53:24PM +0800, Shengjiu Wang wrote:quoted
Error log: sysfs: cannot create duplicate filename'/bus/platform/devices/30000000.bus'quoted
quoted
The spba bus name is duplicate with aips bus name. Refine spba bus name to fix this issue. Fixes: 970406eaef3a ("arm64: dts: imx8mn: Enable Asynchronous Sample Rate Converter") Signed-off-by: Shengjiu Wang <redacted> --- arch/arm64/boot/dts/freescale/imx8mn.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsib/arch/arm64/boot/dts/freescale/imx8mn.dtsi index fd669c0f3fe5..30762eb4f0a7 100644--- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi@@ -246,7 +246,7 @@ aips1: bus@30000000 { #size-cells = <1>; ranges; - spba: bus@30000000 { + spba: spba-bus@30000000 {The proper node name is "bus" so basically you introduce wrong name to other problem. Introducing wrong names at least requires acomment.quoted
quoted
quoted
I just noticed that my message was barely understandable... so let mefix it:quoted
quoted
quoted
The proper node name is "bus" so basically you introduce wrong name to _fix_ other problem. Introducing wrong names at leastrequires a comment.quoted
quoted
quoted
quoted
However the actual problem here is not in node names but inaddresses:quoted
quoted
quoted
quoted
aips1: bus@30000000 { spba: bus@30000000 { You have to devices with the same unit address. How do you share the address space? I think this should be rather fixed.And again, hungry keyboard ate a letter, so: You have _two_ devices with the same unit address. How do you share the address space? I think this should be rather fixed.spba is the first block of aips1 space, so it has same start address as aips1.The reference manual describes it "Reserved for SDMA2 internal memory", so indeed it is first address but does it have to be mapped? Anyway, why don't you use ranges to remove the conflict?The IO address space remapping could be a solution but there is another problem - the hardware representation in DT does not match what reference manual is saying. The AIPS bus @30000000 has several IPs: - SAI2@30020000 - ... - GPIO1@30200000 However in DTS you will find additional SPBA bus for 30000000 - 300c0000. It's not really the SDMA, as SDMA is at different address. It is rather an address space which SDMA should map... but it is not a bus with children. Adding spba-bus@30000000 with its children does not look like correct representation of HW in DTS.In the RM, it says AIPS-1 (s_b_1, via SPBA) Glob. Module Enable. Range is (30000000 - 300FFFFF)
No, AIPS-1 is till 303F_FFFF.
SPBA is a sub-bus under AIPS1. The SAI2@30020000 - ASRC@300c0000 Are the devices under SPBA bus.
Where did you find SPBA bus description in the Reference Manual? Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel