Change the reg properties from 64-bit to 32-bit for all IPs, as none of the nodes are above 32-bit range in the fsd SoC. Since dma-ranges length does not fit into 32-bit size, keep it 64-bit and move it to specific node where it is used instead of SoC section. Signed-off-by: Ravi Patel <ravi.patel@xxxxxxxxxxx> Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Vivek Yadav <vivek.2311@xxxxxxxxxxx> --- arch/arm64/boot/dts/tesla/fsd-evb.dts | 2 + arch/arm64/boot/dts/tesla/fsd.dtsi | 109 ++++++++++++++------------ 2 files changed, 62 insertions(+), 49 deletions(-) diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts b/arch/arm64/boot/dts/tesla/fsd-evb.dts index 1db6ddf03f01..81d9937d8828 100644 --- a/arch/arm64/boot/dts/tesla/fsd-evb.dts +++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts @@ -14,6 +14,8 @@ / { model = "Tesla Full Self-Driving (FSD) Evaluation board"; compatible = "tesla,fsd-evb", "tesla,fsd"; + #address-cells = <2>; + #size-cells = <2>; aliases { serial0 = &serial_0; diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi b/arch/arm64/boot/dts/tesla/fsd.dtsi index f35bc5a288c2..7378ae39233a 100644 --- a/arch/arm64/boot/dts/tesla/fsd.dtsi +++ b/arch/arm64/boot/dts/tesla/fsd.dtsi @@ -342,23 +342,22 @@ soc: soc@0 { compatible = "simple-bus"; - #address-cells = <2>; - #size-cells = <2>; - ranges = <0x0 0x0 0x0 0x0 0x0 0x18000000>; - dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x0 0x0 0x18000000>; gic: interrupt-controller@10400000 { compatible = "arm,gic-v3"; #interrupt-cells = <3>; interrupt-controller; - reg = <0x0 0x10400000 0x0 0x10000>, /* GICD */ - <0x0 0x10600000 0x0 0x200000>; /* GICR_RD+GICR_SGI */ + reg = <0x10400000 0x10000>, /* GICD */ + <0x10600000 0x200000>; /* GICR_RD+GICR_SGI */ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; }; smmu_imem: iommu@10200000 { compatible = "arm,mmu-500"; - reg = <0x0 0x10200000 0x0 0x10000>; + reg = <0x10200000 0x10000>; #iommu-cells = <2>; #global-interrupts = <7>; interrupts = <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */ @@ -378,7 +377,7 @@ smmu_isp: iommu@12100000 { compatible = "arm,mmu-500"; - reg = <0x0 0x12100000 0x0 0x10000>; + reg = <0x12100000 0x10000>; #iommu-cells = <2>; #global-interrupts = <11>; interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */ @@ -406,7 +405,7 @@ smmu_peric: iommu@14900000 { compatible = "arm,mmu-500"; - reg = <0x0 0x14900000 0x0 0x10000>; + reg = <0x14900000 0x10000>; #iommu-cells = <2>; #global-interrupts = <5>; interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */ @@ -422,7 +421,7 @@ smmu_fsys0: iommu@15450000 { compatible = "arm,mmu-500"; - reg = <0x0 0x15450000 0x0 0x10000>; + reg = <0x15450000 0x10000>; #iommu-cells = <2>; #global-interrupts = <5>; interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */ @@ -438,7 +437,7 @@ clock_imem: clock-controller@10010000 { compatible = "tesla,fsd-clock-imem"; - reg = <0x0 0x10010000 0x0 0x3000>; + reg = <0x10010000 0x3000>; #clock-cells = <1>; clocks = <&fin_pll>, <&clock_cmu DOUT_CMU_IMEM_TCUCLK>, @@ -452,7 +451,7 @@ clock_cmu: clock-controller@11c10000 { compatible = "tesla,fsd-clock-cmu"; - reg = <0x0 0x11c10000 0x0 0x3000>; + reg = <0x11c10000 0x3000>; #clock-cells = <1>; clocks = <&fin_pll>; clock-names = "fin_pll"; @@ -460,7 +459,7 @@ clock_csi: clock-controller@12610000 { compatible = "tesla,fsd-clock-cam_csi"; - reg = <0x0 0x12610000 0x0 0x3000>; + reg = <0x12610000 0x3000>; #clock-cells = <1>; clocks = <&fin_pll>; clock-names = "fin_pll"; @@ -468,7 +467,7 @@ clock_mfc: clock-controller@12810000 { compatible = "tesla,fsd-clock-mfc"; - reg = <0x0 0x12810000 0x0 0x3000>; + reg = <0x12810000 0x3000>; #clock-cells = <1>; clocks = <&fin_pll>; clock-names = "fin_pll"; @@ -476,7 +475,7 @@ clock_peric: clock-controller@14010000 { compatible = "tesla,fsd-clock-peric"; - reg = <0x0 0x14010000 0x0 0x3000>; + reg = <0x14010000 0x3000>; #clock-cells = <1>; clocks = <&fin_pll>, <&clock_cmu DOUT_CMU_PLL_SHARED0_DIV4>, @@ -494,7 +493,7 @@ clock_fsys0: clock-controller@15010000 { compatible = "tesla,fsd-clock-fsys0"; - reg = <0x0 0x15010000 0x0 0x3000>; + reg = <0x15010000 0x3000>; #clock-cells = <1>; clocks = <&fin_pll>, <&clock_cmu DOUT_CMU_PLL_SHARED0_DIV6>, @@ -508,7 +507,7 @@ clock_fsys1: clock-controller@16810000 { compatible = "tesla,fsd-clock-fsys1"; - reg = <0x0 0x16810000 0x0 0x3000>; + reg = <0x16810000 0x3000>; #clock-cells = <1>; clocks = <&fin_pll>, <&clock_cmu DOUT_CMU_FSYS1_SHARED0DIV8>, @@ -520,47 +519,59 @@ mdma0: dma-controller@10100000 { compatible = "arm,pl330", "arm,primecell"; - reg = <0x0 0x10100000 0x0 0x1000>; + reg = <0x10100000 0x1000>; interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>; #dma-cells = <1>; clocks = <&clock_imem IMEM_DMA0_IPCLKPORT_ACLK>; clock-names = "apb_pclk"; iommus = <&smmu_imem 0x800 0x0>; + #address-cells = <2>; + #size-cells = <2>; + dma-ranges = <0x0 0x0 0x0 0x10 0x0>; }; mdma1: dma-controller@10110000 { compatible = "arm,pl330", "arm,primecell"; - reg = <0x0 0x10110000 0x0 0x1000>; + reg = <0x10110000 0x1000>; interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>; #dma-cells = <1>; clocks = <&clock_imem IMEM_DMA1_IPCLKPORT_ACLK>; clock-names = "apb_pclk"; iommus = <&smmu_imem 0x801 0x0>; + #address-cells = <2>; + #size-cells = <2>; + dma-ranges = <0x0 0x0 0x0 0x10 0x0>; }; pdma0: dma-controller@14280000 { compatible = "arm,pl330", "arm,primecell"; - reg = <0x0 0x14280000 0x0 0x1000>; + reg = <0x14280000 0x1000>; interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; #dma-cells = <1>; clocks = <&clock_peric PERIC_DMA0_IPCLKPORT_ACLK>; clock-names = "apb_pclk"; iommus = <&smmu_peric 0x2 0x0>; + #address-cells = <2>; + #size-cells = <2>; + dma-ranges = <0x0 0x0 0x0 0x10 0x0>; }; pdma1: dma-controller@14290000 { compatible = "arm,pl330", "arm,primecell"; - reg = <0x0 0x14290000 0x0 0x1000>; + reg = <0x14290000 0x1000>; interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; #dma-cells = <1>; clocks = <&clock_peric PERIC_DMA1_IPCLKPORT_ACLK>; clock-names = "apb_pclk"; iommus = <&smmu_peric 0x1 0x0>; + #address-cells = <2>; + #size-cells = <2>; + dma-ranges = <0x0 0x0 0x0 0x10 0x0>; }; serial_0: serial@14180000 { compatible = "samsung,exynos4210-uart"; - reg = <0x0 0x14180000 0x0 0x100>; + reg = <0x14180000 0x100>; interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>; dmas = <&pdma1 1>, <&pdma1 0>; dma-names = "rx", "tx"; @@ -572,7 +583,7 @@ serial_1: serial@14190000 { compatible = "samsung,exynos4210-uart"; - reg = <0x0 0x14190000 0x0 0x100>; + reg = <0x14190000 0x100>; interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>; dmas = <&pdma1 3>, <&pdma1 2>; dma-names = "rx", "tx"; @@ -584,12 +595,12 @@ pmu_system_controller: system-controller@11400000 { compatible = "samsung,exynos7-pmu", "syscon"; - reg = <0x0 0x11400000 0x0 0x5000>; + reg = <0x11400000 0x5000>; }; watchdog_0: watchdog@100a0000 { compatible = "samsung,exynos7-wdt"; - reg = <0x0 0x100a0000 0x0 0x100>; + reg = <0x100a0000 0x100>; interrupts = <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH>; samsung,syscon-phandle = <&pmu_system_controller>; clocks = <&fin_pll>; @@ -598,7 +609,7 @@ watchdog_1: watchdog@100b0000 { compatible = "samsung,exynos7-wdt"; - reg = <0x0 0x100b0000 0x0 0x100>; + reg = <0x100b0000 0x100>; interrupts = <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>; samsung,syscon-phandle = <&pmu_system_controller>; clocks = <&fin_pll>; @@ -607,7 +618,7 @@ watchdog_2: watchdog@100c0000 { compatible = "samsung,exynos7-wdt"; - reg = <0x0 0x100c0000 0x0 0x100>; + reg = <0x100c0000 0x100>; interrupts = <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>; samsung,syscon-phandle = <&pmu_system_controller>; clocks = <&fin_pll>; @@ -616,7 +627,7 @@ pwm_0: pwm@14100000 { compatible = "samsung,exynos4210-pwm"; - reg = <0x0 0x14100000 0x0 0x100>; + reg = <0x14100000 0x100>; samsung,pwm-outputs = <0>, <1>, <2>, <3>; #pwm-cells = <3>; clocks = <&clock_peric PERIC_PWM0_IPCLKPORT_I_PCLK_S0>; @@ -626,7 +637,7 @@ pwm_1: pwm@14110000 { compatible = "samsung,exynos4210-pwm"; - reg = <0x0 0x14110000 0x0 0x100>; + reg = <0x14110000 0x100>; samsung,pwm-outputs = <0>, <1>, <2>, <3>; #pwm-cells = <3>; clocks = <&clock_peric PERIC_PWM1_IPCLKPORT_I_PCLK_S0>; @@ -636,7 +647,7 @@ hsi2c_0: i2c@14200000 { compatible = "samsung,exynos7-hsi2c"; - reg = <0x0 0x14200000 0x0 0x1000>; + reg = <0x14200000 0x1000>; interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; @@ -649,7 +660,7 @@ hsi2c_1: i2c@14210000 { compatible = "samsung,exynos7-hsi2c"; - reg = <0x0 0x14210000 0x0 0x1000>; + reg = <0x14210000 0x1000>; interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; @@ -662,7 +673,7 @@ hsi2c_2: i2c@14220000 { compatible = "samsung,exynos7-hsi2c"; - reg = <0x0 0x14220000 0x0 0x1000>; + reg = <0x14220000 0x1000>; interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; @@ -675,7 +686,7 @@ hsi2c_3: i2c@14230000 { compatible = "samsung,exynos7-hsi2c"; - reg = <0x0 0x14230000 0x0 0x1000>; + reg = <0x14230000 0x1000>; interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; @@ -688,7 +699,7 @@ hsi2c_4: i2c@14240000 { compatible = "samsung,exynos7-hsi2c"; - reg = <0x0 0x14240000 0x0 0x1000>; + reg = <0x14240000 0x1000>; interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; @@ -701,7 +712,7 @@ hsi2c_5: i2c@14250000 { compatible = "samsung,exynos7-hsi2c"; - reg = <0x0 0x14250000 0x0 0x1000>; + reg = <0x14250000 0x1000>; interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; @@ -714,7 +725,7 @@ hsi2c_6: i2c@14260000 { compatible = "samsung,exynos7-hsi2c"; - reg = <0x0 0x14260000 0x0 0x1000>; + reg = <0x14260000 0x1000>; interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; @@ -727,7 +738,7 @@ hsi2c_7: i2c@14270000 { compatible = "samsung,exynos7-hsi2c"; - reg = <0x0 0x14270000 0x0 0x1000>; + reg = <0x14270000 0x1000>; interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; @@ -740,24 +751,24 @@ pinctrl_pmu: pinctrl@114f0000 { compatible = "tesla,fsd-pinctrl"; - reg = <0x0 0x114f0000 0x0 0x1000>; + reg = <0x114f0000 0x1000>; }; pinctrl_peric: pinctrl@141f0000 { compatible = "tesla,fsd-pinctrl"; - reg = <0x0 0x141f0000 0x0 0x1000>; + reg = <0x141f0000 0x1000>; interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; }; pinctrl_fsys0: pinctrl@15020000 { compatible = "tesla,fsd-pinctrl"; - reg = <0x0 0x15020000 0x0 0x1000>; + reg = <0x15020000 0x1000>; interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; }; spi_0: spi@14140000 { compatible = "tesla,fsd-spi"; - reg = <0x0 0x14140000 0x0 0x100>; + reg = <0x14140000 0x100>; interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; dmas = <&pdma1 4>, <&pdma1 5>; dma-names = "tx", "rx"; @@ -775,7 +786,7 @@ spi_1: spi@14150000 { compatible = "tesla,fsd-spi"; - reg = <0x0 0x14150000 0x0 0x100>; + reg = <0x14150000 0x100>; interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; dmas = <&pdma1 6>, <&pdma1 7>; dma-names = "tx", "rx"; @@ -793,7 +804,7 @@ spi_2: spi@14160000 { compatible = "tesla,fsd-spi"; - reg = <0x0 0x14160000 0x0 0x100>; + reg = <0x14160000 0x100>; interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; dmas = <&pdma1 8>, <&pdma1 9>; dma-names = "tx", "rx"; @@ -811,7 +822,7 @@ timer@10040000 { compatible = "tesla,fsd-mct", "samsung,exynos4210-mct"; - reg = <0x0 0x10040000 0x0 0x800>; + reg = <0x10040000 0x800>; interrupts = <GIC_SPI 455 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>, @@ -834,10 +845,10 @@ ufs: ufs@15120000 { compatible = "tesla,fsd-ufs"; - reg = <0x0 0x15120000 0x0 0x200>, /* 0: HCI standard */ - <0x0 0x15121100 0x0 0x200>, /* 1: Vendor specified */ - <0x0 0x15110000 0x0 0x8000>, /* 2: UNIPRO */ - <0x0 0x15130000 0x0 0x100>; /* 3: UFS protector */ + reg = <0x15120000 0x200>, /* 0: HCI standard */ + <0x15121100 0x200>, /* 1: Vendor specified */ + <0x15110000 0x8000>, /* 2: UNIPRO */ + <0x15130000 0x100>; /* 3: UFS protector */ reg-names = "hci", "vs_hci", "unipro", "ufsp"; interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clock_fsys0 UFS0_TOP0_HCLK_BUS>, @@ -853,7 +864,7 @@ ufs_phy: ufs-phy@15124000 { compatible = "tesla,fsd-ufs-phy"; - reg = <0x0 0x15124000 0x0 0x800>; + reg = <0x15124000 0x800>; reg-names = "phy-pma"; samsung,pmu-syscon = <&pmu_system_controller>; #phy-cells = <0>; -- 2.17.1