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

ARM: dts: sun4i: Add A10 SRAM and SRAM controller

The A10 has a few SRAM that can be mapped either to a device or to the CPU,
with the mapping being controlled by a SRAM controller.

Add the SRAM controller, the SRAM that it drives and the section that can
be used by the various devices.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>

+69
+4
arch/arm/boot/dts/sun4i-a10-a1000.dts
··· 108 108 status = "okay"; 109 109 }; 110 110 111 + &emac_sram { 112 + status = "okay"; 113 + }; 114 + 111 115 &i2c0 { 112 116 pinctrl-names = "default"; 113 117 pinctrl-0 = <&i2c0_pins_a>;
+4
arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts
··· 74 74 status = "okay"; 75 75 }; 76 76 77 + &emac_sram { 78 + status = "okay"; 79 + }; 80 + 77 81 &i2c0 { 78 82 pinctrl-names = "default"; 79 83 pinctrl-0 = <&i2c0_pins_a>;
+4
arch/arm/boot/dts/sun4i-a10-cubieboard.dts
··· 102 102 status = "okay"; 103 103 }; 104 104 105 + &emac_sram { 106 + status = "okay"; 107 + }; 108 + 105 109 &i2c0 { 106 110 pinctrl-names = "default"; 107 111 pinctrl-0 = <&i2c0_pins_a>;
+4
arch/arm/boot/dts/sun4i-a10-hackberry.dts
··· 86 86 status = "okay"; 87 87 }; 88 88 89 + &emac_sram { 90 + status = "okay"; 91 + }; 92 + 89 93 &ir0 { 90 94 pinctrl-names = "default"; 91 95 pinctrl-0 = <&ir0_rx_pins_a>;
+4
arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts
··· 104 104 status = "okay"; 105 105 }; 106 106 107 + &emac_sram { 108 + status = "okay"; 109 + }; 110 + 107 111 &i2c0 { 108 112 pinctrl-names = "default"; 109 113 pinctrl-0 = <&i2c0_pins_a>;
+4
arch/arm/boot/dts/sun4i-a10-marsboard.dts
··· 99 99 status = "okay"; 100 100 }; 101 101 102 + &emac_sram { 103 + status = "okay"; 104 + }; 105 + 102 106 &emac { 103 107 pinctrl-names = "default"; 104 108 pinctrl-0 = <&emac_pins_a>;
+4
arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
··· 105 105 status = "okay"; 106 106 }; 107 107 108 + &emac_sram { 109 + status = "okay"; 110 + }; 111 + 108 112 &i2c0 { 109 113 pinctrl-names = "default"; 110 114 pinctrl-0 = <&i2c0_pins_a>;
+4
arch/arm/boot/dts/sun4i-a10-pcduino.dts
··· 119 119 status = "okay"; 120 120 }; 121 121 122 + &emac_sram { 123 + status = "okay"; 124 + }; 125 + 122 126 &i2c0 { 123 127 pinctrl-names = "default"; 124 128 pinctrl-0 = <&i2c0_pins_a>;
+37
arch/arm/boot/dts/sun4i-a10.dtsi
··· 454 454 #size-cells = <1>; 455 455 ranges; 456 456 457 + sram-controller@01c00000 { 458 + compatible = "allwinner,sun4i-a10-sram-controller"; 459 + reg = <0x01c00000 0x30>; 460 + #address-cells = <1>; 461 + #size-cells = <1>; 462 + ranges; 463 + 464 + sram_a: sram@00000000 { 465 + compatible = "mmio-sram"; 466 + reg = <0x00000000 0xc000>; 467 + #address-cells = <1>; 468 + #size-cells = <1>; 469 + ranges = <0 0x00000000 0xc000>; 470 + 471 + emac_sram: sram-section@8000 { 472 + compatible = "allwinner,sun4i-a10-sram-a3-a4"; 473 + reg = <0x8000 0x4000>; 474 + status = "disabled"; 475 + }; 476 + }; 477 + 478 + sram_d: sram@00010000 { 479 + compatible = "mmio-sram"; 480 + reg = <0x00010000 0x1000>; 481 + #address-cells = <1>; 482 + #size-cells = <1>; 483 + ranges = <0 0x00010000 0x1000>; 484 + 485 + otg_sram: sram-section@0000 { 486 + compatible = "allwinner,sun4i-a10-sram-d"; 487 + reg = <0x0000 0x1000>; 488 + status = "disabled"; 489 + }; 490 + }; 491 + }; 492 + 457 493 dma: dma-controller@01c02000 { 458 494 compatible = "allwinner,sun4i-a10-dma"; 459 495 reg = <0x01c02000 0x1000>; ··· 531 495 reg = <0x01c0b000 0x1000>; 532 496 interrupts = <55>; 533 497 clocks = <&ahb_gates 17>; 498 + allwinner,sram = <&emac_sram 1>; 534 499 status = "disabled"; 535 500 }; 536 501