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

arm64: dts: allwinner: h616: add NAND controller

The H616 has a NAND controller quite similar to the A10/A23 ones, but
with some register differences, more clocks (for ECC and MBUS), more ECC
strengths, so this requires a new compatible string.

Add the NAND controller node and pins in the device tree.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Link: https://patch.msgid.link/20251028073534.526992-17-richard.genoud@bootlin.com
[wens@kernel.org: Fixed alignment of clocks in nand-controller node]
Signed-off-by: Chen-Yu Tsai <wens@kernel.org>

authored by

Richard Genoud and committed by
Chen-Yu Tsai
f55a2526 a3606e8a

+52
+52
arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
··· 305 305 }; 306 306 307 307 /omit-if-no-ref/ 308 + nand_pins: nand-pins { 309 + pins = "PC0", "PC1", "PC2", "PC5", "PC8", "PC9", 310 + "PC10", "PC11", "PC12", "PC13", "PC14", 311 + "PC15", "PC16"; 312 + function = "nand0"; 313 + }; 314 + 315 + /omit-if-no-ref/ 316 + nand_cs0_pin: nand-cs0-pin { 317 + pins = "PC4"; 318 + function = "nand0"; 319 + bias-pull-up; 320 + }; 321 + 322 + /omit-if-no-ref/ 323 + nand_cs1_pin: nand-cs1-pin { 324 + pins = "PC3"; 325 + function = "nand0"; 326 + bias-pull-up; 327 + }; 328 + 329 + /omit-if-no-ref/ 330 + nand_rb0_pin: nand-rb0-pin { 331 + pins = "PC6"; 332 + function = "nand0"; 333 + bias-pull-up; 334 + }; 335 + 336 + /omit-if-no-ref/ 337 + nand_rb1_pin: nand-rb1-pin { 338 + pins = "PC7"; 339 + function = "nand0"; 340 + bias-pull-up; 341 + }; 342 + 343 + /omit-if-no-ref/ 308 344 spi0_pins: spi0-pins { 309 345 pins = "PC0", "PC2", "PC4"; 310 346 function = "spi0"; ··· 411 375 clocks = <&ccu CLK_BUS_IOMMU>; 412 376 resets = <&ccu RST_BUS_IOMMU>; 413 377 #iommu-cells = <1>; 378 + }; 379 + 380 + nfc: nand-controller@4011000 { 381 + compatible = "allwinner,sun50i-h616-nand-controller"; 382 + reg = <0x04011000 0x1000>; 383 + interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 384 + clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND0>, 385 + <&ccu CLK_NAND1>, <&ccu CLK_MBUS_NAND>; 386 + clock-names = "ahb", "mod", "ecc", "mbus"; 387 + resets = <&ccu RST_BUS_NAND>; 388 + reset-names = "ahb"; 389 + dmas = <&dma 10>; 390 + dma-names = "rxtx"; 391 + #address-cells = <1>; 392 + #size-cells = <0>; 393 + status = "disabled"; 414 394 }; 415 395 416 396 mmc0: mmc@4020000 {