From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olliver Schinagl Subject: Re: [PATCH 1/1] ARM: dts: sunxi: Add a olinuxino-lime2-emmc Date: Tue, 10 May 2016 21:55:23 +0200 Message-ID: <57323CAB.7090202@schinagl.nl> References: <1461827998-12192-1-git-send-email-oliver@schinagl.nl> <57285162.2000704@schinagl.nl> <5729F07C.3080308@schinagl.nl> <948be370-4401-43cb-862e-d4376755a75d@googlegroups.com> <5729F6D6.8030100@schinagl.nl> <4704fa35-9a2a-4e6e-8fd4-f4778405c598@googlegroups.com> <572A0052.9060202@schinagl.nl> <2e745ef7-ddc0-40fc-b867-414543690276@googlegroups.com> <572A10B3.2020803@schinagl.nl> <4375220a-f939-4ed0-a6d7-2cf887b07509@googlegroups.com> <9fe7ebb6-6d74-4b73-b6d6-93b79650cdb6@googlegroups.com> <9745a80b-5444-43f7-b772-68684c96c9e5@googlegroups.com> <57322C8D.5060806@schinagl.nl> <8afbe753-4e74-4b30-ad7e-a12027d28264@googlegroups.com> Reply-To: oliver-dxLnbx3+1qmEVqv0pETR8A@public.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------050502030105070601000600" Return-path: Sender: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org In-Reply-To: <8afbe753-4e74-4b30-ad7e-a12027d28264-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , To: Christo Radev , linux-sunxi Cc: radoslav.kolev-1W28NRE8jL9DPfheJLI6IQ@public.gmane.org, wens-jdAy2FN1RRM@public.gmane.org, maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org, tsvetan-kyXcfZUBQGPQT0dZR+AlfA@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, pawel.moll-5wv7dgnIgG8@public.gmane.org, mark.rutland-5wv7dgnIgG8@public.gmane.org, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org, galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org, hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, dev-3kdeTeqwOZ9EV1b7eY7vFQ@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: devicetree@vger.kernel.org This is a multi-part message in MIME format. --------------050502030105070601000600 Content-Type: text/plain; charset=UTF-8; format=flowed Hey Christo, On 10-05-16 21:17, Christo Radev wrote: > Hi Olliver, > > On Tuesday, May 10, 2016 at 9:46:45 PM UTC+3, Olliver Schinagl wrote: > > Hey Christo, > > On 10-05-16 19:25, Christo Radev wrote: >> Hi Olliver, >> >> I try to build Armbian with kernel 4.5.0-rc6 by adding the patch >> as discussed here >> . >> In addition I have to add following as well: >> | >> diff --git a/arch/arm/boot/dts/Makefileb/arch/arm/boot/dts/Makefile >> index 95c1923..9d6cfa8100644 >> ---a/arch/arm/boot/dts/Makefile >> +++b/arch/arm/boot/dts/Makefile >> @@-695,6+696,7@@dtb-$(CONFIG_MACH_SUN7I)+=\ >> sun7i-a20-olimex-som-evb.dtb \ >> sun7i-a20-olinuxino-lime.dtb \ >> sun7i-a20-olinuxino-lime2.dtb \ >> + sun7i-a20-olinuxino-lime2-emmc.dtb \ >> sun7i-a20-olinuxino-micro.dtb \ >> sun7i-a20-orangepi.dtb \ >> sun7i-a20-orangepi-mini.dtb \ >> | >> to be able to compile the new sun7i-a20-olinuxino-lime2-emmc.dts >> file. > Good point, I actually forgot that bit in my own Makefile. >> >> After booting I have renamed it to sun7i-a20-olinuxino-lime2.dts >> and reboot lime-eMMC board. > why rename it to dts? i'm sure you mean dtb, and I'm guessing > because armbian loads that per default. > > Yes, currently I use LIME2 configuration and this way is faster. Later > on I will make new configuration set for Lime2-eMMC. > >> >> Unfortunately, I get some error messages: >> | >> root@lime2:~# dmesg | grep mmc >> [0.000000]Kernelcommand line:console=tty1 root=/dev/mmcblk0p1 >> rootwait rootfstype=ext4 cgroup_enable=memory >> swapaccount=1sunxi_ve_mem_reserve=0sunxi_g2d_mem_reserve=0sunxi_no_mali_mem_reserve >> sunxi_fb_mem_reserve=16hdmi.audio=EDID:0disp.screen0_output_mode=1920x1080p60panic=10consoleblank=0enforcing=0loglevel=1 >> [3.721024]sunxi-mmc 1c0f000.mmc:GotCD GPIO >> [3.758926]sunxi-mmc 1c0f000.mmc:base:0xf08dc000irq:26 >> [3.759832]sunxi-mmc 1c11000.mmc:allocated mmc-pwrseq >> [4.528643]sunxi-mmc 1c11000.mmc:fatal err update clk timeout >> [4.535700]mmc0:host does notsupport reading read-only >> switch,assuming write-enable >> [4.538253]mmc0:newhigh speed SDHC card at address 0002 >> [4.539066]mmcblk0:mmc0:0002000003.70GiB >> [4.540959] mmcblk0:p1 >> [4.548773]sunxi-mmc 1c11000.mmc:base:0xf08f2000irq:27 >> [6.418686]sunxi-mmc 1c11000.mmc:fatal err update clk timeout >> [6.600359]EXT4-fs (mmcblk0p1):mounted filesystem withwriteback >> data mode.Opts:(null) >> [7.168650]sunxi-mmc 1c11000.mmc:fatal err update clk timeout >> [7.918646]sunxi-mmc 1c11000.mmc:fatal err update clk timeout >> [9.875182]EXT4-fs >> (mmcblk0p1):re-mounted.Opts:commit=600,errors=remount-ro >> | >> >> Where could be the problem? > Not exactly sure, are you using the correct lime ;) > > Of course, I use A20-Olinuxino-Lome2-eMMC boards for testing. > > > It does look like the correct dtb was used, since the second mmc > controller is available. Maybe the bootloader prepares/inits > something that is missing? sounds unlikly but possible. Maybe > armbian does more changes? > > For sure in the beginning I have patched and enabled eMMC in the > kernel only (without any changes in u-boot). And it has worked fine. > Later on I have patched u-boot to recognize eMMC as second MMC device. > > Meanwhile, I have build Armbian dev image with u-boot v2016.05-rc3 and > kernel 4.6-rc7 using may patch for eMMC: > | > diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts > b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts > index d5c796c..1f5339d100644 > ---a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts > +++b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts > @@-188,6+188,15@@ > status ="okay"; > }; > > +&mmc2 { > + pinctrl-names ="default"; > + pinctrl-0=<&mmc2_pins_a>; > + vmmc-supply =<®_vcc3v3>; > + bus-width =<8>; > + non-removable; > + status ="okay"; > +}; > + > &ohci0 { > status ="okay"; > }; > diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c > index 3d5087b..78668aa100644 > ---a/drivers/mmc/core/mmc.c > +++b/drivers/mmc/core/mmc.c > @@-504,7+504,7@@staticintmmc_decode_ext_csd(structmmc_card *card,u8 > *ext_csd) > pr_info("%s: MAN_BKOPS_EN bit is not set\n", > mmc_hostname(card->host)); > } > - > +#if 0 > | |you should remove this ...| > | > /* check whether the eMMC card supports HPI */ > if(!broken_hpi &&(ext_csd[EXT_CSD_HPI_FEATURES]&0x1)){ > card->ext_csd.hpi =1; > @@-519,7+519,7@@staticintmmc_decode_ext_csd(structmmc_card *card,u8 > *ext_csd) > card->ext_csd.out_of_int_time = > ext_csd[EXT_CSD_OUT_OF_INTERRUPT_TIME]*10; > } > - > +#endif > | |and this from your own patch-set. Instead, the broken-hpi flag should be set in the mcc section, from my patch: emmc: emmc@0 { reg = <0>; compatible = "mmc-card"; broken-hpi; }; | > | > card->ext_csd.rel_param =ext_csd[EXT_CSD_WR_REL_PARAM]; > card->ext_csd.rst_n_function =ext_csd[EXT_CSD_RST_N_FUNCTION]; > > diff --git a/drivers/pinctrl/sunxi/pinctrl-sun7i-a20.c > b/drivers/pinctrl/sunxi/pinctrl-sun7i-a20.c > index cf1ce0c..9fc12d2100644 > ---a/drivers/pinctrl/sunxi/pinctrl-sun7i-a20.c > +++b/drivers/pinctrl/sunxi/pinctrl-sun7i-a20.c > @@-314,19+314,23@@staticconststructsunxi_desc_pin sun7i_a20_pins[]={ > SUNXI_PIN(SUNXI_PINCTRL_PIN(C,12), > SUNXI_FUNCTION(0x0,"gpio_in"), > SUNXI_FUNCTION(0x1,"gpio_out"), > - SUNXI_FUNCTION(0x2,"nand0")),/* NDQ4 */ > + SUNXI_FUNCTION(0x2,"nand0"),/* NDQ4 */ > + SUNXI_FUNCTION(0x3,"mmc2")),/* D4 */ > SUNXI_PIN(SUNXI_PINCTRL_PIN(C,13), > SUNXI_FUNCTION(0x0,"gpio_in"), > SUNXI_FUNCTION(0x1,"gpio_out"), > - SUNXI_FUNCTION(0x2,"nand0")),/* NDQ5 */ > + SUNXI_FUNCTION(0x2,"nand0"),/* NDQ5 */ > + SUNXI_FUNCTION(0x3,"mmc2")),/* D5 */ > SUNXI_PIN(SUNXI_PINCTRL_PIN(C,14), > SUNXI_FUNCTION(0x0,"gpio_in"), > SUNXI_FUNCTION(0x1,"gpio_out"), > - SUNXI_FUNCTION(0x2,"nand0")),/* NDQ6 */ > + SUNXI_FUNCTION(0x2,"nand0"),/* NDQ6 */ > + SUNXI_FUNCTION(0x3,"mmc2")),/* D6 */ > SUNXI_PIN(SUNXI_PINCTRL_PIN(C,15), > SUNXI_FUNCTION(0x0,"gpio_in"), > SUNXI_FUNCTION(0x1,"gpio_out"), > - SUNXI_FUNCTION(0x2,"nand0")),/* NDQ7 */ > + SUNXI_FUNCTION(0x2,"nand0"),/* NDQ7 */ > + SUNXI_FUNCTION(0x3,"mmc2")),/* D7 */ > SUNXI_PIN(SUNXI_PINCTRL_PIN(C,16), > SUNXI_FUNCTION(0x0,"gpio_in"), > SUNXI_FUNCTION(0x1,"gpio_out"), > | > and it recognizes eMMC without problems. you really don't need these, they dont' work anyway, especially without modifying the mmc2_pins_a set. > > Using dd for performance measure it gives: > | > root@egpr:/mnt# dd if=/dev/zero of=1GBfilebs=1Mcount=1K > 1024+0records in > 1024+0records out > 1073741824bytes (1.1GB)copied,78.7895s,13.6MB/s > root@egpr:/mnt# dd of=/dev/nullif=1GBfile > 2097152+0records in > 2097152+0records out > 1073741824bytes (1.1GB)copied,28.6025s,37.5MB/s > | > Compared to my last results write is the same (13.6 vs. 13.5 MB/s) as > speed but the read is 80% faster (37.5 vs. 20.8 MB/s). Yeah i got 40 mb/s but i used a blocksize of 16M. So slightly better, as for writes, i got 17mb/s also slightly better. As for why it worked now and not before, seems like something went wrong with the patching of things? > >> >> Best regards >> Chris >> > -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout. --------------050502030105070601000600 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hey Christo,

On 10-05-16 21:17, Christo Radev wrote:<= br>
Hi Olliver,

On Tuesday, May 10, 2016 at 9:46:45 PM UTC+3, Olliver Schinagl wrote:
Hey Christo,

On 10-05-16 19:25, Christo Radev wrote:
Hi Olliver,

I try to build Armbian with kernel 4.5.0-rc6 by adding the patch as discussed here.
In addition I have to add following as well:
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index
95c1923.<= /span>.9d6cfa8 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -695,6 +696,7 @@ dtb-$(CONFIG_MACH_SUN7I)
+=3D \
=C2=A0 =C2=A0 =C2=A0sun7i
-a20-olimex-som-evb.dtb \
=C2=A0 =C2=A0 =C2=A0sun7i
-a20-olinuxino-lime.dtb \
=C2=A0 =C2=A0 =C2=A0sun7i
-a20-olinuxino-lime2.dtb \
+ =C2=A0 =C2=A0sun7i-a20-olinuxino-lime2-emmc.dtb \
=C2=A0 =C2=A0 =C2=A0sun7i
-a20-olinuxino-micro.dtb \
=C2=A0 =C2=A0 =C2=A0sun7i
-a20-orangepi.dtb \
=C2=A0 =C2=A0 =C2=A0sun7i
-a20-orangepi-mini.dtb \
to be able to compile the new sun7i-a20-olinuxino-lime2-emmc.dts file.
Good point, I actually forgot that bit in my own Makefile.

After booting I have renamed it to sun7i-a20-olinuxino-lime2.dts and reboot lime-eMMC board.
why rename it to dts? i'm sure you mean dtb, and I'm guessing because armbian loads that per default.
Yes, currently I use LIME2 configuration and this way is faster. Later on I will make new configuration set for Lime2-eMMC.

Unfortunately, I get some error messages:
root@lime2:~# dmesg | grep mmc
[ =C2=A0 =C2=A00.000000] Kernel command line: console=3Dtty1 root=3D/dev/mmcblk0p1 rootwait rootfstype=3Dext4 cgroup_enable=3Dmemory swapaccount=3D1 sunxi_ve_mem_reserve= =3D0 sunxi_g2d_mem_reserve=3D0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=3D16 hdmi.audio=3DEDID:0 disp.screen0_output_mode=3D1920x1080p60 panic=3D10 consoleblank=3D0 enforcing=3D0 loglevel=3D1
[ =C2=A0 =C2=A03.721024] sunxi-mmc 1c0f000.mmc: Got CD GPIO
[ =C2=A0 =C2=A03.758926] sunxi-mmc 1c0f000.mmc: base:0xf08dc000 irq:26
[ =C2=A0 =C2=A03.759832] sunxi-mmc 1c11000.mmc: allocated mmc-pwrseq
[ =C2=A0 =C2=A04.528643] sunxi-mmc 1c11000.mmc: fatal err update clk timeout
[ =C2=A0 =C2=A04.535700] mmc0: host does not support reading read= -only switch, assuming write-enable
[ =C2=A0 =C2=A04.538253] mmc0: new high speed SDHC card at address 0002
[ =C2=A0 =C2=A04.539066] mmcblk0: mmc0:0002 00000 3.70 GiB
[ =C2=A0 =C2=A04.540959] =C2=A0mmcblk0: p1
[ =C2=A0 =C2=A04.548773] sunxi-mmc 1c11000.mmc: base:0xf08f2000 irq:27
[ =C2=A0 =C2=A06.418686] sunxi-mmc 1c11000.mmc: fatal err update clk timeout
[ =C2=A0 =C2=A06.600359] EXT4-fs (mmcblk0p1): mounted filesystem <= span style=3D"color:#008">with
writeback data mode<= span style=3D"color:#660">. Opts: (null)
[ =C2=A0 =C2=A07.168650] sunxi-mmc 1c11000.mmc: fatal err update clk timeout
[ =C2=A0 =C2=A07.918646] sunxi-mmc 1c11000.mmc: fatal err update clk timeout
[ =C2=A0 =C2=A09.875182] EXT4-fs (mmcblk0p1): re-mounted. Opts: commit=3D600,errors=3Dremount-ro

Where could be the problem?
Not exactly sure, are you using the correct lime ;)
Of course,=C2=A0 I use A20-Olinuxino-Lome2-eMMC boards for testing.

It does look like the correct dtb was used, since the second mmc controller is available. Maybe the bootloader prepares/inits something that is missing? sounds unlikly but possible. Maybe armbian does more changes?
For sure in the beginning I have patched and enabled eMMC in the kernel only (without any changes in u-boot). And it has worked fine. Later on I have patched u-boot to recognize eMMC as second MMC device.

Meanwhile, I have build Armbian dev image with u-boot v2016.05-rc3 and kernel 4.6-rc7 using may patch for eMMC:
diff --git a= /arch<= /span>/arm/boot<= /span>/dts/sun7i= -a20-olinu= xino-lime2= .dts b= /arch<= /span>/arm/boot<= /span>/dts/sun7i= -a20-olinu= xino-lime2= .dts index d5c796c..1f533= 9d 10064= 4
--- a/arch<= /span>/arm/boot<= /span>/dts/sun7i= -a20-olinu= xino-lime2= .dts +++ b/arch<= /span>/arm/boot<= /span>/dts/sun7i= -a20-olinu= xino-lime2= .dts @@ -188,6 +188,15 @@
=C2=A0 =C2=A0 =C2=A0status
=3D "okay= ";
=C2=A0
};
=C2=A0
+&mmc2 = {
+ =C2=A0 =C2=A0pinctrl= -names =3D "defa= ult";
+ =C2=A0 =C2=A0pinctrl= -0 =3D <&= amp;mmc2_= pins_a>;=
+ =C2=A0 =C2=A0vmmc-suppl= y =3D <&= amp;reg_v= cc3v3>;=
+ =C2=A0 =C2=A0bus-width =3D <<= /span>8>;=
+ =C2=A0 =C2=A0non-remov= able;
+ =C2=A0 =C2=A0status = =3D "okay= ";
+};
+
=C2=A0
&ohci0 {
=C2=A0 =C2=A0 =C2=A0status
=3D "okay= ";
=C2=A0
};
diff
--git a= /drive= rs/mmc/core<= /span>/mmc.c b/drive= rs/mmc/core<= /span>/mmc.c
index
3d5087b..78668= aa 10064= 4
--- a/drive= rs/mmc/core<= /span>/mmc.c
+++ b/drive= rs/mmc/core<= /span>/mmc.c
@@ -504,7 +504,7 @@ stati= c int mmc_decode_ext_csd(struct mmc_card *card, u8 <= /span>*ext_c= sd)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0pr_info
("%s: MAN_BKOPS_EN bit is not set\n",
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0mmc_hostname
(card<= /span>->= host<= /span>));
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
}
-
+#if 0
you should remove this ...
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0/* check whether the eMMC card supports HPI */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
if (!broke= n_hpi && (ext_c= sd[EXT_C= SD_HPI_FEATURES] &= 0x1)) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0card->ext_c= sd.hpi <= /span>=3D 1;
@@ -519,7 +519,7 @@ stati= c int mmc_decode_ext_csd(struct mmc_card *card, u8 <= /span>*ext_c= sd)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0card->ext_c= sd.out_o= f_int_time =3D
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0ext_csd
[EXT_C= SD_OUT_OF_INTERRUPT_TIME] * 10;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
}
-
+#endif
and this from your own patch-set.

Instead, the broken-hpi flag should be set in the mcc section, from my patch:


=C2=A0=C2=A0=C2=A0 emmc: emmc@0 {
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 reg =3D <0>;
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 compatible =3D "mmc-card";
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 broken-hpi;
=C2=A0=C2=A0=C2=A0 };

=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0card->= ext_c= sd.rel_p= aram =3D ext_csd[EXT_C= SD_WR_REL_PARAM];
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0card
->ext_c= sd.rst_n= _function =3D ext_csd[EXT_C= SD_RST_N_FUNCTION];
=C2=A0
diff
--git a= /drive= rs/pinct= rl/sunxi= /pinct= rl-sun7i= -a20.c b/drive= rs/pinct= rl/sunxi= /pinct= rl-sun7i= -a20.c
index cf1ce0c
..9fc12= d2 10064= 4
--- a/drive= rs/pinct= rl/sunxi= /pinct= rl-sun7i= -a20.c
+++ b/drive= rs/pinct= rl/sunxi= /pinct= rl-sun7i= -a20.c
@@ -314,19 +314,23 @@ stati= c const= struc= t sunxi_desc_pin sun7i_a20_pins[] =3D {
=C2=A0 =C2=A0 =C2=A0SUNXI_PIN
(SUNXI_PINCTRL_PIN(C, 12),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SUNXI_FUNCTION(0x0, "gpio= _in"),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SUNXI_FUNCTION(0x1, "gpio= _out"),
- =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x2, "nand= 0")), =C2= =A0 =C2=A0/* NDQ4 */
+ =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x2, "nand= 0"), =C2= =A0 =C2=A0 =C2=A0 =C2=A0/* NDQ4 */
+ =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x3, "mmc2= ")), =C2= =A0 =C2=A0 =C2=A0 =C2=A0 /* D4 */
=C2=A0 =C2=A0 =C2=A0SUNXI_PIN
(SUNXI_PINCTRL_PIN(C, 13),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SUNXI_FUNCTION(0x0, "gpio= _in"),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SUNXI_FUNCTION(0x1, "gpio= _out"),
- =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x2, "nand= 0")), =C2= =A0 =C2=A0/* NDQ5 */
+ =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x2, "nand= 0"), =C2= =A0 =C2=A0/* NDQ5 */
+ =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x3, "mmc2= ")), =C2= =A0 =C2=A0 =C2=A0 =C2=A0 /* D5 */
=C2=A0 =C2=A0 =C2=A0SUNXI_PIN
(SUNXI_PINCTRL_PIN(C, 14),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SUNXI_FUNCTION(0x0, "gpio= _in"),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SUNXI_FUNCTION(0x1, "gpio= _out"),
- =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x2, "nand= 0")), =C2= =A0 =C2=A0/* NDQ6 */
+ =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x2, "nand= 0"), =C2= =A0 =C2=A0/* NDQ6 */
+ =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x3, "mmc2= ")), =C2= =A0 =C2=A0 =C2=A0 =C2=A0 /* D6 */
=C2=A0 =C2=A0 =C2=A0SUNXI_PIN
(SUNXI_PINCTRL_PIN(C, 15),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SUNXI_FUNCTION(0x0, "gpio= _in"),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SUNXI_FUNCTION(0x1, "gpio= _out"),
- =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x2, "nand= 0")), =C2= =A0 =C2=A0/* NDQ7 */
+ =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x2, "nand= 0"), =C2= =A0 =C2=A0/* NDQ7 */
+ =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0SUNXI_FUNCTION(0x3, "mmc2= ")), =C2= =A0 =C2=A0 =C2=A0 =C2=A0 /* D7 */
=C2=A0 =C2=A0 =C2=A0SUNXI_PIN
(SUNXI_PINCTRL_PIN(C, 16),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SUNXI_FUNCTION(0x0, "gpio= _in"),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0SUNXI_FUNCTION(0x1, "gpio= _out"),
and it recognizes eMMC without problems.
you really don't need these, they dont' work anyway, especially without modifying the mmc2_pins_a set.

Using dd for performance measure it gives:
root@egpr:/mnt# dd if=3D/dev/zero of=3D1GBfile bs=3D1M coun= t=3D1K
1024+0 records in
1024+0 records out
1073741824 byte= s (1.1 GB) copied, 78.78= 95 s, 13.6<= /span> MB/s
root@egpr
:/mnt# dd of=3D/dev/null<= /span> if=3D1GBfi= le
2097152+0 records in
2097152+0 records out
1073741824 byte= s (1.1 GB) copied, 28.60= 25 s, 37.5<= /span> MB/s
Compared to my last results write is the same (13.6 vs. 13.5 MB/s) as speed but the read is 80% faster (37.5 vs. 20.8 MB/s).
Yeah i got 40 mb/s but i used a blocksize of 16M. So slightly better, as for writes, i got 17mb/s also slightly better.

As for why it worked now and not before, seems like something went wrong with the patching of things?


Best regards
Chris



--
You received this message because you are subscribed to the Google Groups &= quot;linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to linux-s= unxi+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit http= s://groups.google.com/d/optout.
--------------050502030105070601000600--