Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: armada-39x: update NAND node with new bindings

Use the new bindings of the Marvell NAND controller driver. Also adapt
the NAND controller node organization to distinguish which property is
relevant for the controller, and which one is NAND chip specific. Expose
the partitions as a subnode of the NAND chip.

Remove the 'marvell,nand-enable-arbiter' property, not needed anymore
as the new driver activates the arbiter by default for all boards which
is either needed or harmless.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>

authored by

Miquel Raynal and committed by
Gregory CLEMENT
0ae11774 925d5e42

+112 -94
+35 -31
arch/arm/boot/dts/armada-390-db.dts
··· 49 49 status = "okay"; 50 50 }; 51 51 52 - flash@d0000 { 53 - status = "okay"; 54 - pinctrl-0 = <&nand_pins>; 55 - pinctrl-names = "default"; 56 - num-cs = <1>; 57 - marvell,nand-keep-config; 58 - marvell,nand-enable-arbiter; 59 - nand-on-flash-bbt; 60 - nand-ecc-strength = <8>; 61 - nand-ecc-step-size = <512>; 62 - 63 - partitions { 64 - compatible = "fixed-partitions"; 65 - #address-cells = <1>; 66 - #size-cells = <1>; 67 - 68 - partition@0 { 69 - label = "U-Boot"; 70 - reg = <0 0x800000>; 71 - }; 72 - partition@800000 { 73 - label = "Linux"; 74 - reg = <0x800000 0x800000>; 75 - }; 76 - partition@1000000 { 77 - label = "Filesystem"; 78 - reg = <0x1000000 0x3f000000>; 79 - }; 80 - }; 81 - }; 82 - 83 52 /* CON98 */ 84 53 usb3@f8000 { 85 54 status = "okay"; ··· 101 132 partition@400000 { 102 133 label = "Filesystem"; 103 134 reg = <0x400000 0xc00000>; 135 + }; 136 + }; 137 + }; 138 + }; 139 + 140 + &nand_controller { 141 + status = "okay"; 142 + pinctrl-0 = <&nand_pins>; 143 + pinctrl-names = "default"; 144 + 145 + nand@0 { 146 + reg = <0>; 147 + label = "pxa3xx_nand-0"; 148 + nand-rb = <0>; 149 + marvell,nand-keep-config; 150 + nand-on-flash-bbt; 151 + nand-ecc-strength = <8>; 152 + nand-ecc-step-size = <512>; 153 + 154 + partitions { 155 + compatible = "fixed-partitions"; 156 + #address-cells = <1>; 157 + #size-cells = <1>; 158 + 159 + partition@0 { 160 + label = "U-Boot"; 161 + reg = <0 0x800000>; 162 + }; 163 + partition@800000 { 164 + label = "Linux"; 165 + reg = <0x800000 0x800000>; 166 + }; 167 + partition@1000000 { 168 + label = "Filesystem"; 169 + reg = <0x1000000 0x3f000000>; 104 170 }; 105 171 }; 106 172 };
+39 -35
arch/arm/boot/dts/armada-395-gp.dts
··· 57 57 status = "okay"; 58 58 }; 59 59 60 - flash@d0000 { 61 - status = "okay"; 62 - pinctrl-0 = <&nand_pins>; 63 - pinctrl-names = "default"; 64 - num-cs = <1>; 65 - marvell,nand-keep-config; 66 - marvell,nand-enable-arbiter; 67 - nand-on-flash-bbt; 68 - nand-ecc-strength = <4>; 69 - nand-ecc-step-size = <512>; 70 - 71 - partitions { 72 - compatible = "fixed-partitions"; 73 - #address-cells = <1>; 74 - #size-cells = <1>; 75 - 76 - partition@0 { 77 - label = "U-Boot"; 78 - reg = <0x00000000 0x00600000>; 79 - read-only; 80 - }; 81 - 82 - partition@800000 { 83 - label = "uImage"; 84 - reg = <0x00600000 0x00400000>; 85 - read-only; 86 - }; 87 - 88 - partition@1000000 { 89 - label = "Root"; 90 - reg = <0x00a00000 0x3f600000>; 91 - }; 92 - }; 93 - }; 94 - 95 60 /* CON18 */ 96 61 sdhci@d8000 { 97 62 clock-frequency = <200000000>; ··· 91 126 pcie@4,0 { 92 127 /* Port 3, Lane 0 */ 93 128 status = "okay"; 129 + }; 130 + }; 131 + }; 132 + }; 133 + 134 + &nand_controller { 135 + status = "okay"; 136 + pinctrl-0 = <&nand_pins>; 137 + pinctrl-names = "default"; 138 + 139 + nand@0 { 140 + reg = <0>; 141 + label = "pxa3xx_nand-0"; 142 + nand-rb = <0>; 143 + marvell,nand-keep-config; 144 + nand-on-flash-bbt; 145 + nand-ecc-strength = <4>; 146 + nand-ecc-step-size = <512>; 147 + 148 + partitions { 149 + compatible = "fixed-partitions"; 150 + #address-cells = <1>; 151 + #size-cells = <1>; 152 + 153 + partition@0 { 154 + label = "U-Boot"; 155 + reg = <0x00000000 0x00600000>; 156 + read-only; 157 + }; 158 + 159 + partition@800000 { 160 + label = "uImage"; 161 + reg = <0x00600000 0x00400000>; 162 + read-only; 163 + }; 164 + 165 + partition@1000000 { 166 + label = "Root"; 167 + reg = <0x00a00000 0x3f600000>; 94 168 }; 95 169 }; 96 170 };
+35 -25
arch/arm/boot/dts/armada-398-db.dts
··· 51 51 status = "okay"; 52 52 }; 53 53 54 - flash@d0000 { 55 - status = "okay"; 56 - pinctrl-0 = <&nand_pins>; 57 - pinctrl-names = "default"; 58 - num-cs = <1>; 59 - marvell,nand-keep-config; 60 - marvell,nand-enable-arbiter; 61 - nand-on-flash-bbt; 62 - nand-ecc-strength = <8>; 63 - nand-ecc-step-size = <512>; 64 - 65 - partition@0 { 66 - label = "U-Boot"; 67 - reg = <0 0x800000>; 68 - }; 69 - partition@800000 { 70 - label = "Linux"; 71 - reg = <0x800000 0x800000>; 72 - }; 73 - partition@1000000 { 74 - label = "Filesystem"; 75 - reg = <0x1000000 0x3f000000>; 76 - }; 77 - }; 78 - 79 54 usb3@f8000 { 80 55 status = "okay"; 81 56 }; ··· 94 119 partition@400000 { 95 120 label = "Filesystem"; 96 121 reg = <0x400000 0x1000000>; 122 + }; 123 + }; 124 + }; 125 + 126 + &nand_controller { 127 + status = "okay"; 128 + pinctrl-0 = <&nand_pins>; 129 + pinctrl-names = "default"; 130 + 131 + nand@0 { 132 + reg = <0>; 133 + label = "pxa3xx_nand-0"; 134 + nand-rb = <0>; 135 + marvell,nand-keep-config; 136 + nand-on-flash-bbt; 137 + nand-ecc-strength = <8>; 138 + nand-ecc-step-size = <512>; 139 + 140 + partitions { 141 + compatible = "fixed-partitions"; 142 + #address-cells = <1>; 143 + #size-cells = <1>; 144 + 145 + partition@0 { 146 + label = "U-Boot"; 147 + reg = <0 0x800000>; 148 + }; 149 + partition@800000 { 150 + label = "Linux"; 151 + reg = <0x800000 0x800000>; 152 + }; 153 + partition@1000000 { 154 + label = "Filesystem"; 155 + reg = <0x1000000 0x3f000000>; 156 + }; 97 157 }; 98 158 }; 99 159 };
+3 -3
arch/arm/boot/dts/armada-39x.dtsi
··· 367 367 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 368 368 }; 369 369 370 - flash@d0000 { 371 - compatible = "marvell,armada370-nand"; 370 + nand_controller: nand-controller@d0000 { 371 + compatible = "marvell,armada370-nand-controller"; 372 372 reg = <0xd0000 0x54>; 373 373 #address-cells = <1>; 374 - #size-cells = <1>; 374 + #size-cells = <0>; 375 375 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 376 376 clocks = <&coredivclk 0>; 377 377 status = "disabled";