..
Subsystems (3)
kirkwood_setup_wins is the last manual caller of mbus in kirkwood, don't call it for DT boards and rely on the DT having a mbus node with a proper ranges property to setup these windows.
Move all the mbus ranges properties for all boards into kirkwood.dtsi, since they are currently all the same.
This makes the DT self consistent, since the physical address of the NAND and CRYPTO are both referenced internally. The arbitary Linux constants KIRKWOOD_NAND_MEM_PHYS_BASE and KIRKWOOD_SRAM_PHYS_BASE no longer have to match the DT values.
--- arch/arm/boot/dts/kirkwood-db-88f6281.dts | 1 - arch/arm/boot/dts/kirkwood-db-88f6282.dts | 1 - arch/arm/boot/dts/kirkwood-iconnect.dts | 1 - arch/arm/boot/dts/kirkwood-mplcec4.dts | 1 - arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts | 1 - arch/arm/boot/dts/kirkwood-nsa310.dts | 1 - arch/arm/boot/dts/kirkwood-ts219-6282.dts | 1 - arch/arm/boot/dts/kirkwood.dtsi | 5 +++++ arch/arm/mach-kirkwood/board-dt.c | 1 - 9 files changed, 5 insertions(+), 8 deletions(-)
v2 changes:
- Move the ranges into kirkwood.dtsi so all boards get it [Ezequiel]
- Add a comment that boards have to replace not append the ranges [Ezequiel]
arch/arm/boot/dts/kirkwood-db-88f6281.dts +0 -1
@@ -19,7 +19,6 @@ compatible = "marvell,db-88f6281-bp", "marvell,kirkwood-88f6281", "marvell,kirkwood"; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";
arch/arm/boot/dts/kirkwood-db-88f6282.dts +0 -1
@@ -19,7 +19,6 @@ compatible = "marvell,db-88f6282-bp", "marvell,kirkwood-88f6282", "marvell,kirkwood"; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";
arch/arm/boot/dts/kirkwood-iconnect.dts +0 -1
@@ -19,7 +19,6 @@ }; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";
arch/arm/boot/dts/kirkwood-mplcec4.dts +0 -1
@@ -17,7 +17,6 @@ }; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";
arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts +0 -1
@@ -17,7 +17,6 @@ }; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";
arch/arm/boot/dts/kirkwood-nsa310.dts +0 -1
@@ -15,7 +15,6 @@ }; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";
arch/arm/boot/dts/kirkwood-ts219-6282.dts +0 -1
@@ -6,7 +6,6 @@ / { mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";
arch/arm/boot/dts/kirkwood.dtsi +5 -0
@@ -27,6 +27,11 @@ compatible = "marvell,kirkwood-mbus", "simple-bus"; #address-cells = <2>; #size-cells = <1>; + /* If a board file needs to change this ranges it must replace it completely */ + ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 /* internal-regs */ + MBUS_ID(0x01, 0x2f) 0 0xf4000000 0x10000 /* nand flash */ + MBUS_ID(0x03, 0x01) 0 0xf5000000 0x10000 /* crypto sram */ + >; controller = <&mbusc>; pcie-mem-aperture = <0xe0000000 0x10000000>; /* 256 MiB memory space */ pcie-io-aperture = <0xf2000000 0x100000>; /* 1 MiB I/O space */
arch/arm/mach-kirkwood/board-dt.c +0 -1
@@ -92,7 +92,6 @@ static void __init kirkwood_dt_init(void)writel (readl (CPU_CONFIG ) & ~CPU_CONFIG_ERROR_PROP ,CPU_CONFIG );BUG_ON (mvebu_mbus_dt_init ()); -kirkwood_setup_wins ();kirkwood_l2_init ();
Signature · 1 line
1.8.1.2
PATCH v2 1/3 ARM: kirkwood: Remove kirkwood_setup_wins and rely on the DT binding (Was Re: ..)
Hi Jason,
Sorry for the delayed review. I finally found some time off to take a deeper look at this series.
So, despite the wrong subject this is v2 for:
"ARM: kirkwood: Remove kirkwood_setup_wins and rely on the DT binding"
Right? I took the liberty of fixing the subject.
I think a small cover-letter would have been nice, just to have some context about the three patches. I assume the series is:
ARM: kirkwood: Remove kirkwood_setup_wins and rely on the DT binding
ARM: kirkwood: Move the crypto node under the mbus node
ARM: kirkwood: Move the nand node under the mbus node
Right?
I have just a minor comment to make. See below.
Quoted 118 lines · Jason Gunthorpe
kirkwood_setup_winsis the last manual caller of mbus in kirkwood, don't call it for DT boards and rely on the DT having a mbus node with a proper ranges property to setup these windows.Move all the mbus ranges properties for all boards into
kirkwood.dtsi, since they are currently all the same.This makes the DT self consistent, since the physical address of the NAND and CRYPTO are both referenced internally. The arbitary Linux constants
KIRKWOOD_NAND_MEM_PHYS_BASEandKIRKWOOD_SRAM_PHYS_BASEno longer have to match the DT values.Signed-off-by Jason Gunthorpe <[email protected]>--- arch/arm/boot/dts/kirkwood-db-88f6281.dts | 1 - arch/arm/boot/dts/kirkwood-db-88f6282.dts | 1 - arch/arm/boot/dts/kirkwood-iconnect.dts | 1 - arch/arm/boot/dts/kirkwood-mplcec4.dts | 1 - arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts | 1 - arch/arm/boot/dts/kirkwood-nsa310.dts | 1 - arch/arm/boot/dts/kirkwood-ts219-6282.dts | 1 - arch/arm/boot/dts/kirkwood.dtsi | 5 +++++ arch/arm/mach-kirkwood/board-dt.c | 1 - 9 files changed, 5 insertions(+), 8 deletions(-)v2 changes:
- Move the ranges intokirkwood.dtsiso all boards get it [Ezequiel]
- Add a comment that boards have to replace not append the ranges [Ezequiel]arch/arm/boot/dts/kirkwood-db-88f6281.dts +0
-1@@ -19,7 +19,6 @@ compatible = "marvell,db-88f6281-bp", "marvell,kirkwood-88f6281", "marvell,kirkwood"; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";arch/arm/boot/dts/kirkwood-db-88f6282.dts +0
-1@@ -19,7 +19,6 @@ compatible = "marvell,db-88f6282-bp", "marvell,kirkwood-88f6282", "marvell,kirkwood"; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";arch/arm/boot/dts/kirkwood-iconnect.dts +0
-1@@ -19,7 +19,6 @@ }; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";arch/arm/boot/dts/kirkwood-mplcec4.dts +0
-1@@ -17,7 +17,6 @@ }; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts +0
-1@@ -17,7 +17,6 @@ }; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";arch/arm/boot/dts/kirkwood-nsa310.dts +0
-1@@ -15,7 +15,6 @@ }; mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";arch/arm/boot/dts/kirkwood-ts219-6282.dts +0
-1@@ -6,7 +6,6 @@ / { mbus { - ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>; pcie-controller { status = "okay";arch/arm/boot/dts/kirkwood.dtsi +0
-0
arch/arm/boot/dts/kirkwood.dtsi line 30
Quoted 4 lines
arch/arm/boot/dts/kirkwood.dtsi +1
-0@@ -27,6 +27,11 @@ compatible = "marvell,kirkwood-mbus", "simple-bus"; #address-cells = <2>; #size-cells = <1>; + /* If a board file needs to change this ranges it must replace it completely */
I'd rather have a longer comment in here, explaining why such replacement is needed and how the 'ranges' entries are not inherited in any way.
This is just a minor observation, so feel free to ignore it :)
Quoted 12 lines
arch/arm/boot/dts/kirkwood.dtsi +4
-0+ ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 /* internal-regs */ + MBUS_ID(0x01, 0x2f) 0 0xf4000000 0x10000 /* nand flash */ + MBUS_ID(0x03, 0x01) 0 0xf5000000 0x10000 /* crypto sram */ + >; controller = <&mbusc>; pcie-mem-aperture = <0xe0000000 0x10000000>; /* 256 MiB memory space */ pcie-io-aperture = <0xf2000000 0x100000>; /* 1 MiB I/O space */arch/arm/mach-kirkwood/board-dt.c +0
-0
arch/arm/mach-kirkwood/board-dt.c static void __init kirkwood_dt_init(void) · line 97
Quoted 7 lines
arch/arm/mach-kirkwood/board-dt.c +0
-1@@ -92,7 +92,6 @@ static void __init kirkwood_dt_init(void)writel (readl (CPU_CONFIG ) & ~CPU_CONFIG_ERROR_PROP ,CPU_CONFIG );BUG_ON (mvebu_mbus_dt_init ()); -kirkwood_setup_wins ();kirkwood_l2_init ();
Other than that, the patch looks good:
And, in Openblocks-A6:
Regards,
Signature · 3 lines
Ezequiel Garc?a, Free Electrons Embedded Linux, Kernel and Android Engineering http://free-electrons.com
PATCH v2 1/3 ARM: kirkwood: Remove kirkwood_setup_wins and rely on the DT binding (Was Re: ..)
Quoted 10 lines · Ezequiel Garcia
Hi Jason,
Sorry for the delayed review. I finally found some time off to take a deeper look at this series.
So, despite the wrong subject this is v2 for:
"ARM: kirkwood: Remove
kirkwood_setup_winsand rely on the DT binding"Right? I took the liberty of fixing the subject.
Yes, sorry, mailer trouble. I finally got git send-email working here so that shouldn't happen again :)
Quoted 6 lines
I think a small cover-letter would have been nice, just to have some context about the three patches. I assume the series is:
ARM: kirkwood: Remove
kirkwood_setup_winsand rely on the DT binding
ARM: kirkwood: Move the crypto node under the mbus node
ARM: kirkwood: Move the nand node under the mbus node
Yes, that looks right.
Quoted 8 lines
arch/arm/boot/dts/kirkwood.dtsi line 30
Quoted 4 lines
arch/arm/boot/dts/kirkwood.dtsi +1
-0compatible = "marvell,kirkwood-mbus", "simple-bus"; #address-cells = <2>; #size-cells = <1>; + /* If a board file needs to change this ranges it must replace it completely */I'd rather have a longer comment in here, explaining why such replacement is needed and how the 'ranges' entries are not inherited in any way.
Generally I try to avoid explaining how a language works in comments :)
Quoted 7 lines
Other than that, the patch looks good:
Acked-by Ezequiel Garcia <[email protected]>And, in Openblocks-A6:
Tested-by Ezequiel Garcia <[email protected]>
Did you test patch #2 as well?
I put the 3 patches on my github:
https://github.com/jgunthorpe/linux/tree/kirkwood-mbus
Jason C: Do you want me to repost the patches?
Thanks,
Jason
PATCH v2 1/3 ARM: kirkwood: Remove kirkwood_setup_wins and rely on the DT binding (Was Re: ..)
Quoted 38 lines · Jason Gunthorpe
Quoted 10 lines · Ezequiel Garcia
Hi Jason,
Sorry for the delayed review. I finally found some time off to take a deeper look at this series.
So, despite the wrong subject this is v2 for:
"ARM: kirkwood: Remove
kirkwood_setup_winsand rely on the DT binding"Right? I took the liberty of fixing the subject.
Yes, sorry, mailer trouble. I finally got git send-email working here so that shouldn't happen again :)
Quoted 6 lines
I think a small cover-letter would have been nice, just to have some context about the three patches. I assume the series is:
ARM: kirkwood: Remove
kirkwood_setup_winsand rely on the DT binding
ARM: kirkwood: Move the crypto node under the mbus node
ARM: kirkwood: Move the nand node under the mbus nodeYes, that looks right.
Quoted 8 lines
arch/arm/boot/dts/kirkwood.dtsi line 30
Quoted 4 lines
arch/arm/boot/dts/kirkwood.dtsi +1
-0compatible = "marvell,kirkwood-mbus", "simple-bus"; #address-cells = <2>; #size-cells = <1>; + /* If a board file needs to change this ranges it must replace it completely */I'd rather have a longer comment in here, explaining why such replacement is needed and how the 'ranges' entries are not inherited in any way.
Generally I try to avoid explaining how a language works in comments :)
Quoted 2 lines
Other than that, the patch looks good:
Quoted 8 lines
Quoted 5 lines
Acked-by Ezequiel Garcia <[email protected]>And, in Openblocks-A6:
Tested-by Ezequiel Garcia <[email protected]>Did you test patch #2 as well?
Well, I booted the board with the patch, but didn't do any crypto-specific testings. That said, I don't have any strong opinion on the crypto-node moving or splitting.
Have you worked that out?
Signature · 3 lines
Ezequiel Garc?a, Free Electrons Embedded Linux, Kernel and Android Engineering http://free-electrons.com
PATCH v2 1/3 ARM: kirkwood: Remove kirkwood_setup_wins and rely on the DT binding (Was Re: ..)
Quoted 5 lines · Ezequiel Garcia
Well, I booted the board with the patch, but didn't do any crypto-specific testings. That said, I don't have any strong opinion on the crypto-node moving or splitting.
Have you worked that out?
I feel it is the same situation as the NAND, moving it doesn't preclude any future fixups. Keeping it outside the mbus node is mis-using the mbus binding.
Jason
PATCH v2 1/3 ARM: kirkwood: Remove kirkwood_setup_wins and rely on the DT binding (Was Re: ..)
Quoted 11 lines · Jason Gunthorpe
Quoted 5 lines · Ezequiel Garcia
Well, I booted the board with the patch, but didn't do any crypto-specific testings. That said, I don't have any strong opinion on the crypto-node moving or splitting.
Have you worked that out?
I feel it is the same situation as the NAND, moving it doesn't preclude any future fixups. Keeping it outside the mbus node is mis-using the mbus binding.
Agreed.
Signature · 3 lines
Ezequiel Garc?a, Free Electrons Embedded Linux, Kernel and Android Engineering http://free-electrons.com
Quoted 13 lines · Jason Gunthorpe
kirkwood_setup_winsis the last manual caller of mbus in kirkwood, don't call it for DT boards and rely on the DT having a mbus node with a proper ranges property to setup these windows.Move all the mbus ranges properties for all boards into
kirkwood.dtsi, since they are currently all the same.This makes the DT self consistent, since the physical address of the NAND and CRYPTO are both referenced internally. The arbitary Linux constants
KIRKWOOD_NAND_MEM_PHYS_BASEandKIRKWOOD_SRAM_PHYS_BASEno longer have to match the DT values.Signed-off-by Jason Gunthorpe <[email protected]>
Quoted 11 lines
--- arch/arm/boot/dts/kirkwood-db-88f6281.dts | 1 - arch/arm/boot/dts/kirkwood-db-88f6282.dts | 1 - arch/arm/boot/dts/kirkwood-iconnect.dts | 1 - arch/arm/boot/dts/kirkwood-mplcec4.dts | 1 - arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts | 1 - arch/arm/boot/dts/kirkwood-nsa310.dts | 1 - arch/arm/boot/dts/kirkwood-ts219-6282.dts | 1 - arch/arm/boot/dts/kirkwood.dtsi | 5 +++++ arch/arm/mach-kirkwood/board-dt.c | 1 - 9 files changed, 5 insertions(+), 8 deletions(-)
Applied to mvebu/dt with Ezequiel's Ack and Tested-by. Also fixed subject line.
thx,
Jason.