> On Tue, Dec 08, 2020 at 08:44:51AM +0000, S.j. Wang wrote: > > > > > > > > > > > > On Mon, Dec 07, 2020 at 02:21:40PM +0100, Krzysztof Kozlowski > wrote: > > > > > > > On Mon, Dec 07, 2020 at 02:53:24PM +0800, Shengjiu Wang wrote: > > > > > > > > Error log: > > > > > > > > sysfs: cannot create duplicate filename > > > > > > '/bus/platform/devices/30000000.bus' > > > > > > > > > > > > > > > > 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 <shengjiu.wang@xxxxxxx> > > > > > > > > --- > > > > > > > > arch/arm64/boot/dts/freescale/imx8mn.dtsi | 2 +- > > > > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > > > > > > > diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi > > > > > > > > b/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 a > > > comment. > > > > > > > > > > > > I just noticed that my message was barely understandable... so > > > > > > let me > > > fix it: > > > > > > > > > > > > The proper node name is "bus" so basically you introduce wrong > > > > > > name to _fix_ other problem. Introducing wrong names at least > > > requires a comment. > > > > > > > > > > > > > However the actual problem here is not in node names but in > > > addresses: > > > > > > > > > > > > > > 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. Yes, AIPSA-1 is till 303F_FFFF, but it is divided to 2 parts. (30000000 - 300FFFFF) is the first part. Please go to table 2-3 AIPS1 memory map in RM. In the "region" column, There is " AIPS-1 (s_b_1, via SPBA) Glob. Module Enable". It means This part is connect to SPBA bus. Best regards Wang Shengjiu