linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: sun8i: add NAND controller node for A23/A33
@ 2016-08-23 13:55 Icenowy Zheng
  2016-08-24  6:02 ` Maxime Ripard
  0 siblings, 1 reply; 4+ messages in thread
From: Icenowy Zheng @ 2016-08-23 13:55 UTC (permalink / raw)
  To: linux-arm-kernel

A23/A33 has a NAND controller which can now be used properly.

Add a device node for it.

The DMA function cannot work because of changed DMA IP block, so it's
temporarily removed in the device node. However, with PIO mode it can still
work.

Tested on an Aoson M751s tablet with Boris Brezillon's "mtd: nand: allow
vendor specific detection/initialization" patchset, which is needed for the
large-block MLC chip to be recognized correctly.
( http://lists.infradead.org/pipermail/linux-mtd/2016-June/068198.html )

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
---
 arch/arm/boot/dts/sun8i-a23-a33.dtsi | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-a23-a33.dtsi b/arch/arm/boot/dts/sun8i-a23-a33.dtsi
index 89ea479..17e3dec 100644
--- a/arch/arm/boot/dts/sun8i-a23-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a23-a33.dtsi
@@ -239,6 +239,14 @@
 					     "mmc2_sample";
 		};
 
+		nand_clk: clk at 01c20080 {
+			#clock-cells = <0>;
+			compatible = "allwinner,sun4i-a10-mod0-clk";
+			reg = <0x01c20080 0x4>;
+			clocks = <&osc24M>, <&pll6 1>;
+			clock-output-names = "nand";
+		};
+
 		usb_clk: clk at 01c200cc {
 			#clock-cells = <1>;
 			#reset-cells = <1>;
@@ -322,6 +330,19 @@
 			#size-cells = <0>;
 		};
 
+		nfc: nand at 01c03000 {
+			compatible = "allwinner,sun4i-a10-nand";
+			reg = <0x01c03000 0x1000>;
+			interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ahb1_gates 13>, <&nand_clk>;
+			clock-names = "ahb", "mod";
+			resets = <&ahb1_rst 13>;
+			reset-names = "ahb";
+			status = "disabled";
+			#address-cells = <1>;
+			#size-cells = <0>;
+		};
+
 		ehci0: usb at 01c1a000 {
 			compatible = "allwinner,sun8i-a23-ehci", "generic-ehci";
 			reg = <0x01c1a000 0x100>;
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH] ARM: dts: sun8i: add NAND controller node for A23/A33
  2016-08-23 13:55 [PATCH] ARM: dts: sun8i: add NAND controller node for A23/A33 Icenowy Zheng
@ 2016-08-24  6:02 ` Maxime Ripard
  2016-08-24  8:21   ` Icenowy Zheng
  0 siblings, 1 reply; 4+ messages in thread
From: Maxime Ripard @ 2016-08-24  6:02 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Tue, Aug 23, 2016 at 09:55:46PM +0800, Icenowy Zheng wrote:
> A23/A33 has a NAND controller which can now be used properly.
> 
> Add a device node for it.
> 
> The DMA function cannot work because of changed DMA IP block, so it's
> temporarily removed in the device node. However, with PIO mode it can still
> work.

What is preventing the NAND driver to work with DMA with the sun6i driver?

Thanks,
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160824/01124f92/attachment.sig>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ARM: dts: sun8i: add NAND controller node for A23/A33
  2016-08-24  6:02 ` Maxime Ripard
@ 2016-08-24  8:21   ` Icenowy Zheng
  2016-08-25 20:53     ` Maxime Ripard
  0 siblings, 1 reply; 4+ messages in thread
From: Icenowy Zheng @ 2016-08-24  8:21 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Maxime,

24.08.2016, 14:02, "Maxime Ripard" <maxime.ripard@free-electrons.com>:
> Hi,
>
> On Tue, Aug 23, 2016 at 09:55:46PM +0800, Icenowy Zheng wrote:
>> ?A23/A33 has a NAND controller which can now be used properly.
>>
>> ?Add a device node for it.
>>
>> ?The DMA function cannot work because of changed DMA IP block, so it's
>> ?temporarily removed in the device node. However, with PIO mode it can still
>> ?work.
>
> What is preventing the NAND driver to work with DMA with the sun6i driver?
It seems that under sun6i we should use dedicated rx and tx DMAs, but not a
"rxtx" DMA.
>
> Thanks,
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ARM: dts: sun8i: add NAND controller node for A23/A33
  2016-08-24  8:21   ` Icenowy Zheng
@ 2016-08-25 20:53     ` Maxime Ripard
  0 siblings, 0 replies; 4+ messages in thread
From: Maxime Ripard @ 2016-08-25 20:53 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Wed, Aug 24, 2016 at 04:21:35PM +0800, Icenowy Zheng wrote:
> Hi Maxime,
> 
> 24.08.2016, 14:02, "Maxime Ripard" <maxime.ripard@free-electrons.com>:
> > Hi,
> >
> > On Tue, Aug 23, 2016 at 09:55:46PM +0800, Icenowy Zheng wrote:
> >> ?A23/A33 has a NAND controller which can now be used properly.
> >>
> >> ?Add a device node for it.
> >>
> >> ?The DMA function cannot work because of changed DMA IP block, so it's
> >> ?temporarily removed in the device node. However, with PIO mode it can still
> >> ?work.
> >
> > What is preventing the NAND driver to work with DMA with the sun6i driver?
>
> It seems that under sun6i we should use dedicated rx and tx DMAs, but not a
> "rxtx" DMA.

Ah, I see. I just applied your patch, thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160825/b3581fd4/attachment.sig>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-08-25 20:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-23 13:55 [PATCH] ARM: dts: sun8i: add NAND controller node for A23/A33 Icenowy Zheng
2016-08-24  6:02 ` Maxime Ripard
2016-08-24  8:21   ` Icenowy Zheng
2016-08-25 20:53     ` Maxime Ripard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).