Picon

Re: Re: Boot Android from SD card

I can't get unimg.exe to run under Wine.  It just prints garage and exits....

Unpacking image from original.img
==╜Γ░ⁿ╩º░▄== IMAGEWTY[0]╖╓╬÷╓╞╫≈╣ñ╛▀ [┐¬╖ó╒▀: esxgx]

Maybe I need some missing Windows library on Wine? I tried installing mfc42.

On Mon, Jan 13, 2014 at 11:28 AM,  <nilsnuls0@...> wrote:
> понедельник, 13 января 2014 г., 20:24:26 UTC+4 пользователь Jon
Smirl написал:
>> Are there any tools for making a bootable Android SD card  - parallel to the Linux BSP tool? All the tools I
see write the Android into on board flash which really slows down the development cycle.
>>
>>
>>
>> --
>> Jon Smirl
>> jons...@...
>
> http://tmerle.blogspot.ru/2013_10_01_archive.html
>
> --
> 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@...
> For more options, visit https://groups.google.com/groups/opt_out.

--

-- 
Jon Smirl
jonsmirl@...

(Continue reading)

Rajesh Mallah | 14 Jan 04:10 2014
Picon

Re: Re: help with NAND access of A20 based MELE M5

dear nils nuls,
can u pls post the nand related lines of  your dmesg?
ie

dmesg | grep -i nand

also can you tell what is the flash chip on ur board?

regds
mallah.



On Tue, Jan 14, 2014 at 12:49 AM, Rajesh Mallah <mallah.rajesh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:


I would like to point out that

root <at> A20:~# dmesg | grep -i nand
[    0.899089] [NAND] nand driver version: 0x2 0x9
[    0.903783] [SCAN_ERR] search nand physical architecture parameter failed!
[    0.910650] [NAND]init_blklayer fail


 

--
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/groups/opt_out.
Rajesh Mallah | 14 Jan 05:10 2014
Picon

Re: Re: help with NAND access of A20 based MELE M5

the flash chip on the pcb is FORESEE NCTSTS86-04G .


On Tue, Jan 14, 2014 at 8:40 AM, Rajesh Mallah <mallah.rajesh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
dear nils nuls,
can u pls post the nand related lines of  your dmesg?
ie

dmesg | grep -i nand

also can you tell what is the flash chip on ur board?

regds
mallah.



On Tue, Jan 14, 2014 at 12:49 AM, Rajesh Mallah <mallah.rajesh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:


I would like to point out that

root <at> A20:~# dmesg | grep -i nand
[    0.899089] [NAND] nand driver version: 0x2 0x9
[    0.903783] [SCAN_ERR] search nand physical architecture parameter failed!
[    0.910650] [NAND]init_blklayer fail


 


--
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/groups/opt_out.
Tony Prisk | 14 Jan 05:12 2014
Picon

Re: [PATCH v5 2/2] ehci-platform: Add support for clks and phy passed through devicetree

On 14/01/14 11:45, Hans de Goede wrote:
> Currently ehci-platform is only used in combination with devicetree when used
> with some Via socs. By extending it to (optionally) get clks and a phy from
> devicetree, and enabling / disabling those on power_on / off, it can be used
> more generically. Specifically after this commit it can be used for the
> ehci controller on Allwinner sunxi SoCs.
>
> Since ehci-platform is intended to handle any generic enough non pci ehci
> device, add a "usb-ehci" compatibility string.
>
> There already is a usb-ehci device-tree bindings document, update this
> with clks and phy bindings info.
>
> Although actually quite generic so far the via,vt8500 compatibilty string
> had its own bindings document. Somehow we even ended up with 2 of them. Since
> these provide no extra information over the generic usb-ehci documentation,
> this patch removes them.
>
> The ehci-ppc-of.c driver also claims the usb-ehci compatibility string,
> even though it mostly is ibm,usb-ehci-440epx specific. ehci-platform.c is
> not needed on ppc platforms, so add a !PPC_OF dependency to it to avoid
> 2 drivers claiming the same compatibility string getting build on ppc.
>
> Signed-off-by: Hans de Goede <hdegoede@...>
> ---
>   Documentation/devicetree/bindings/usb/usb-ehci.txt |  25 +++-
>   .../devicetree/bindings/usb/via,vt8500-ehci.txt    |  15 ---
>   .../devicetree/bindings/usb/vt8500-ehci.txt        |  12 --
>   drivers/usb/host/Kconfig                           |   1 +
>   drivers/usb/host/ehci-platform.c                   | 149 +++++++++++++++++----
>   5 files changed, 142 insertions(+), 60 deletions(-)
>   delete mode 100644 Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt
>   delete mode 100644 Documentation/devicetree/bindings/usb/vt8500-ehci.txt
>
> diff --git a/Documentation/devicetree/bindings/usb/usb-ehci.txt b/Documentation/devicetree/bindings/usb/usb-ehci.txt
> index fa18612..fad10f3 100644
> --- a/Documentation/devicetree/bindings/usb/usb-ehci.txt
> +++ b/Documentation/devicetree/bindings/usb/usb-ehci.txt
>  <at>  <at>  -7,13 +7,14  <at>  <at>  Required properties:
>       (debug-port or other) can be also specified here, but only after
>       definition of standard EHCI registers.
>     - interrupts : one EHCI interrupt should be described here.
> -If device registers are implemented in big endian mode, the device
> -node should have "big-endian-regs" property.
> -If controller implementation operates with big endian descriptors,
> -"big-endian-desc" property should be specified.
> -If both big endian registers and descriptors are used by the controller
> -implementation, "big-endian" property can be specified instead of having
> -both "big-endian-regs" and "big-endian-desc".
> +
> +Optional properties:
> + - big-endian-regs : boolean, set this for hcds with big-endian registers
> + - big-endian-desc : boolean, set this for hcds with big-endian descriptors
> + - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
> + - clocks : a list of phandle + clock specifier pairs
> + - phys : phandle + phy specifier pair
> + - phy-names : "usb"
>   
>   Example (Sequoia 440EPx):
>       ehci <at> e0000300 {
>  <at>  <at>  -23,3 +24,13  <at>  <at>  Example (Sequoia 440EPx):
>   	   reg = <0 e0000300 90 0 e0000390 70>;
>   	   big-endian;
>      };
> +
> +Example (Allwinner sun4i A10 SoC):
> +   ehci0: ehci <at> 0x01c14000 {
> +	   compatible = "allwinner,sun4i-a10-ehci", "usb-ehci";
> +	   reg = <0x01c14000 0x100>;
> +	   interrupts = <39>;
> +	   clocks = <&ahb_gates 1>;
> +	   phys = <&usbphy 1>;
> +	   phy-names = "usb";
> +   };
> diff --git a/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt b/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt
> deleted file mode 100644
> index 17b3ad1..0000000
> --- a/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt
> +++ /dev/null
>  <at>  <at>  -1,15 +0,0  <at>  <at> 
> -VIA/Wondermedia VT8500 EHCI Controller
> ------------------------------------------------------
> -
> -Required properties:
> -- compatible : "via,vt8500-ehci"
> -- reg : Should contain 1 register ranges(address and length)
> -- interrupts : ehci controller interrupt
> -
> -Example:
> -
> -	ehci <at> d8007900 {
> -		compatible = "via,vt8500-ehci";
> -		reg = <0xd8007900 0x200>;
> -		interrupts = <43>;
> -	};
> diff --git a/Documentation/devicetree/bindings/usb/vt8500-ehci.txt b/Documentation/devicetree/bindings/usb/vt8500-ehci.txt
> deleted file mode 100644
> index 5fb8fd6..0000000
> --- a/Documentation/devicetree/bindings/usb/vt8500-ehci.txt
> +++ /dev/null
>  <at>  <at>  -1,12 +0,0  <at>  <at> 
> -VIA VT8500 and Wondermedia WM8xxx SoC USB controllers.
> -
> -Required properties:
> - - compatible: Should be "via,vt8500-ehci" or "wm,prizm-ehci".
> - - reg: Address range of the ehci registers. size should be 0x200
> - - interrupts: Should contain the ehci interrupt.
> -
> -usb: ehci <at> D8007100 {
> -	compatible = "wm,prizm-ehci", "usb-ehci";
> -	reg = <0xD8007100 0x200>;
> -	interrupts = <1>;
> -};
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index a9707da..e28cbe0 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
>  <at>  <at>  -255,6 +255,7  <at>  <at>  config USB_EHCI_ATH79
>   
>   config USB_EHCI_HCD_PLATFORM
>   	tristate "Generic EHCI driver for a platform device"
> +	depends on !PPC_OF
>   	default n
>   	---help---
>   	  Adds an EHCI host driver for a generic platform device, which
> diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
> index 7f30b71..5c4f892 100644
> --- a/drivers/usb/host/ehci-platform.c
> +++ b/drivers/usb/host/ehci-platform.c
>  <at>  <at>  -3,6 +3,7  <at>  <at> 
>    *
>    * Copyright 2007 Steven Brown <sbrown@...>
>    * Copyright 2010-2012 Hauke Mehrtens <hauke@...>
> + * Copyright 2014 Hans de Goede <hdegoede@...>
>    *
>    * Derived from the ohci-ssb driver
>    * Copyright 2007 Michael Buesch <m <at> bues.ch>
>  <at>  <at>  -18,6 +19,7  <at>  <at> 
>    *
>    * Licensed under the GNU/GPL. See COPYING for details.
>    */
> +#include <linux/clk.h>
>   #include <linux/dma-mapping.h>
>   #include <linux/err.h>
>   #include <linux/kernel.h>
>  <at>  <at>  -25,6 +27,7  <at>  <at> 
>   #include <linux/io.h>
>   #include <linux/module.h>
>   #include <linux/of.h>
> +#include <linux/phy/phy.h>
>   #include <linux/platform_device.h>
>   #include <linux/usb.h>
>   #include <linux/usb/hcd.h>
>  <at>  <at>  -33,6 +36,13  <at>  <at> 
>   #include "ehci.h"
>   
>   #define DRIVER_DESC "EHCI generic platform driver"
> +#define EHCI_MAX_CLKS 3
> +#define hcd_to_ehci_priv(h) ((struct ehci_platform_priv *)hcd_to_ehci(h)->priv)
> +
> +struct ehci_platform_priv {
> +	struct clk *clks[EHCI_MAX_CLKS];
> +	struct phy *phy;
> +};
>   
>   static const char hcd_name[] = "ehci-platform";
>   
>  <at>  <at>  -64,38 +74,90  <at>  <at>  static int ehci_platform_reset(struct usb_hcd *hcd)
>   	return 0;
>   }
>   
> +static int ehci_platform_power_on(struct platform_device *dev)
> +{
> +	struct usb_hcd *hcd = platform_get_drvdata(dev);
> +	struct ehci_platform_priv *priv = hcd_to_ehci_priv(hcd);
> +	int clk, ret;
> +
> +	for (clk = 0; priv->clks[clk] && clk < EHCI_MAX_CLKS; clk++) {
> +		ret = clk_prepare_enable(priv->clks[clk]);
> +		if (ret)
> +			goto err_disable_clks;
> +	}
> +
> +	if (priv->phy) {
> +		ret = phy_init(priv->phy);
> +		if (ret)
> +			goto err_disable_clks;
> +
> +		ret = phy_power_on(priv->phy);
> +		if (ret)
> +			goto err_exit_phy;
> +	}
> +
> +	return 0;
> +
> +err_exit_phy:
> +	phy_exit(priv->phy);
> +err_disable_clks:
> +	while (--clk >= 0)
> +		clk_disable_unprepare(priv->clks[clk]);
> +
> +	return ret;
> +}
> +
> +static void ehci_platform_power_off(struct platform_device *dev)
> +{
> +	struct usb_hcd *hcd = platform_get_drvdata(dev);
> +	struct ehci_platform_priv *priv = hcd_to_ehci_priv(hcd);
> +	int clk;
> +
> +	if (priv->phy) {
> +		phy_power_off(priv->phy);
> +		phy_exit(priv->phy);
> +	}
> +
> +	for (clk = EHCI_MAX_CLKS - 1; clk >= 0; clk--)
> +		if (priv->clks[clk])
> +			clk_disable_unprepare(priv->clks[clk]);
> +}
> +
>   static struct hc_driver __read_mostly ehci_platform_hc_driver;
>   
>   static const struct ehci_driver_overrides platform_overrides __initconst = {
> -	.reset =	ehci_platform_reset,
> +	.reset =		ehci_platform_reset,
> +	.extra_priv_size =	sizeof(struct ehci_platform_priv),
>   };
>   
> -static struct usb_ehci_pdata ehci_platform_defaults;
> +static struct usb_ehci_pdata ehci_platform_defaults = {
> +	.power_on =		ehci_platform_power_on,
> +	.power_suspend =	ehci_platform_power_off,
> +	.power_off =		ehci_platform_power_off,
> +};
>   
>   static int ehci_platform_probe(struct platform_device *dev)
>   {
>   	struct usb_hcd *hcd;
>   	struct resource *res_mem;
> -	struct usb_ehci_pdata *pdata;
> -	int irq;
> -	int err;
> +	struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev);
> +	struct ehci_platform_priv *priv;
> +	int clk, irq, err;
>   
>   	if (usb_disabled())
>   		return -ENODEV;
>   
>   	/*
> -	 * use reasonable defaults so platforms don't have to provide these.
> -	 * with DT probing on ARM, none of these are set.
> +	 * Use reasonable defaults so platforms don't have to provide these
> +	 * with DT probing on ARM.
>   	 */
> -	if (!dev_get_platdata(&dev->dev))
> -		dev->dev.platform_data = &ehci_platform_defaults;
> +	if (!pdata)
> +		pdata = &ehci_platform_defaults;
>   
>   	err = dma_coerce_mask_and_coherent(&dev->dev, DMA_BIT_MASK(32));
>   	if (err)
>   		return err;
>   
> -	pdata = dev_get_platdata(&dev->dev);
> -
>   	irq = platform_get_irq(dev, 0);
>   	if (irq < 0) {
>   		dev_err(&dev->dev, "no irq provided");
>  <at>  <at>  -107,17 +169,40  <at>  <at>  static int ehci_platform_probe(struct platform_device *dev)
>   		return -ENXIO;
>   	}
>   
> +	hcd = usb_create_hcd(&ehci_platform_hc_driver, &dev->dev,
> +			     dev_name(&dev->dev));
> +	if (!hcd)
> +		return -ENOMEM;
> +
> +	platform_set_drvdata(dev, hcd);
> +	dev->dev.platform_data = pdata;
> +	priv = hcd_to_ehci_priv(hcd);
> +
> +	if (pdata == &ehci_platform_defaults && dev->dev.of_node) {
> +		priv->phy = devm_phy_get(&dev->dev, "usb");
> +		if (IS_ERR(priv->phy)) {
> +			err = PTR_ERR(priv->phy);
> +			if (err == -EPROBE_DEFER)
> +				goto err_put_hcd;
> +			priv->phy = NULL;
> +		}
> +
> +		for (clk = 0; clk < EHCI_MAX_CLKS; clk++) {
> +			priv->clks[clk] = of_clk_get(dev->dev.of_node, clk);
> +			if (IS_ERR(priv->clks[clk])) {
> +				err = PTR_ERR(priv->clks[clk]);
> +				if (err == -EPROBE_DEFER)
> +					goto err_put_clks;
> +				priv->clks[clk] = NULL;
> +				break;
> +			}
> +		}
> +	}
> +
>   	if (pdata->power_on) {
>   		err = pdata->power_on(dev);
>   		if (err < 0)
> -			return err;
> -	}
> -
> -	hcd = usb_create_hcd(&ehci_platform_hc_driver, &dev->dev,
> -			     dev_name(&dev->dev));
> -	if (!hcd) {
> -		err = -ENOMEM;
> -		goto err_power;
> +			goto err_put_clks;
>   	}
>   
>   	hcd->rsrc_start = res_mem->start;
>  <at>  <at>  -126,21 +211,25  <at>  <at>  static int ehci_platform_probe(struct platform_device *dev)
>   	hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
>   	if (IS_ERR(hcd->regs)) {
>   		err = PTR_ERR(hcd->regs);
> -		goto err_put_hcd;
> +		goto err_power;
>   	}
>   	err = usb_add_hcd(hcd, irq, IRQF_SHARED);
>   	if (err)
> -		goto err_put_hcd;
> -
> -	platform_set_drvdata(dev, hcd);
> +		goto err_power;
>   
>   	return err;
>   
> -err_put_hcd:
> -	usb_put_hcd(hcd);
>   err_power:
>   	if (pdata->power_off)
>   		pdata->power_off(dev);
> +err_put_clks:
> +	while (--clk >= 0)
> +		clk_put(priv->clks[clk]);
> +err_put_hcd:
> +	if (pdata == &ehci_platform_defaults)
> +		dev->dev.platform_data = NULL;
> +
> +	usb_put_hcd(hcd);
>   
>   	return err;
>   }
>  <at>  <at>  -149,13 +238,19  <at>  <at>  static int ehci_platform_remove(struct platform_device *dev)
>   {
>   	struct usb_hcd *hcd = platform_get_drvdata(dev);
>   	struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev);
> +	struct ehci_platform_priv *priv = hcd_to_ehci_priv(hcd);
> +	int clk;
>   
>   	usb_remove_hcd(hcd);
> -	usb_put_hcd(hcd);
>   
>   	if (pdata->power_off)
>   		pdata->power_off(dev);
>   
> +	for (clk = 0; priv->clks[clk] && clk < EHCI_MAX_CLKS; clk++)
> +		clk_put(priv->clks[clk]);
> +
> +	usb_put_hcd(hcd);
> +
>   	if (pdata == &ehci_platform_defaults)
>   		dev->dev.platform_data = NULL;
>   
>  <at>  <at>  -206,8 +301,10  <at>  <at>  static int ehci_platform_resume(struct device *dev)
>   static const struct of_device_id vt8500_ehci_ids[] = {
>   	{ .compatible = "via,vt8500-ehci", },
>   	{ .compatible = "wm,prizm-ehci", },
> +	{ .compatible = "usb-ehci", },
>   	{}
>   };
> +MODULE_DEVICE_TABLE(of, vt8500_ehci_ids);
>   
>   static const struct platform_device_id ehci_platform_table[] = {
>   	{ "ehci-platform", 0 },

You have removed the documentation for the via,vt8500-ehci and 
wm,prizm-ehci bindings (which in itself isn't really an issue), and left 
them in the driver (again, not an issue) - except now we have two 
bindings without any binding documentation?!?

I'm not sure where the 'wm,prizm-ehci' string came from (presumably me 
some time ago), but it isn't used and could be dropped.
All WonderMedia SoCs use the 'via,vt8500-ehci' - Doing a quick grep of 
arch/arm/boot/dts shows no usage of 'wm,prizm-ehci'.

Arguably, the dtsi files for the WonderMedia SoCs could be updated to 
include 'usb-ehci' as a second compatible string, and the 
'via,vt8500-ehci' could be dropped from the driver - but it does mean 
that old dts files won't work with the current kernel (and I think 
that's a no-no).

Regards
Tony P

Rajesh Mallah | 14 Jan 05:20 2014
Picon

Re: Re: help with NAND access of A20 based MELE M5


Hi,

In Android the flash is recognized as  mmcblk0 . The android kernel is:

/ # cat /proc/version
Linux version 3.3.0+ (zhangyb <at> dev21) (gcc version 4.6.3 20120201 (prerelease) (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) ) #2 SMP PREEMPT Wed A3
/ #



<4>[    1.185531] [mmc-msg] sw_mci_init
<4>[    1.185607] [mmc-msg] MMC host used card: 0xd, boot card: 0x4, io_card 8
<4>[    1.187020] [mmc-msg] sdc2 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.188091] [mmc-msg] sdc2 Probe: base:0xf0098000 irq:66 sg_cpu:ffdfb000(43c20000) ret 0.
<4>[    1.188107] [mmc-msg] sdc2 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.188118] [mmc-msg] sdc2 power on
<4>[    1.188847] [mmc-msg] sdc0 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.189925] [mmc-msg] sdc0 Probe: base:0xf009a000 irq:64 sg_cpu:ffdfa000(43c21000) ret 0.
<4>[    1.190515] [mmc-msg] sdc3 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.191595] [mmc-msg] sdc3 Probe: base:0xf009c000 irq:67 sg_cpu:ffdf9000(43c22000) ret 0.
<4>[    1.203472] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.275819] [mmc-err] smc 2 err, cmd 52,  RTO
<4>[    1.276683] [mmc-err] smc 2 err, cmd 52,  RTO
<4>[    1.276735] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.279167] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.281316] [mmc-err] smc 2 err, cmd 5,  RTO
<4>[    1.282143] [mmc-err] smc 2 err, cmd 5,  RTO
<4>[    1.282971] [mmc-err] smc 2 err, cmd 5,  RTO
<4>[    1.283798] [mmc-err] smc 2 err, cmd 5,  RTO
<4>[    1.284449] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.284485] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.286876] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.336559] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
<4>[    1.336607] [mmc-msg] sdc2 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
<4>[    1.391797] [mmc-msg] sdc2 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B
<6>[    1.391857] mmc0: new high speed SDHC card at address b368
<6>[    1.392802] mmcblk0: mmc0:b368 NCard 3.61 GiB
<6>[    1.397400]  mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 p10 p11 p12 p13 >
<4>[    1.397466] mmcblk0: p1 size 3014656 extends beyond EOD, truncated
<6>[    1.568739] EXT4-fs (mmcblk0p7): barriers disabled
<6>[    1.585566] EXT4-fs (mmcblk0p7): recovery complete
<6>[    1.586846] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: barrier=0
<6>[    3.041626] EXT4-fs (mmcblk0p8): barriers disabled
<6>[    3.196375] EXT4-fs (mmcblk0p8): recovery complete
<6>[    3.197641] EXT4-fs (mmcblk0p8): mounted filesystem with ordered data mode. Opts: barrier=0
<6>[    3.488706] EXT4-fs (mmcblk0p8): barriers disabled
<6>[    3.491371] EXT4-fs (mmcblk0p8): mounted filesystem with ordered data mode. Opts: barrier=0,journal_checksum,noauto_da_alloc
<6>[    8.015456] EXT4-fs (mmcblk0p11): barriers disabled
<6>[    8.031786] EXT4-fs (mmcblk0p11): recovery complete
<6>[    8.033100] EXT4-fs (mmcblk0p11): mounted filesystem with ordered data mode. Opts: barrier=0
<6>[    8.137171] EXT4-fs (mmcblk0p11): barriers disabled
<6>[    8.139677] EXT4-fs (mmcblk0p11): mounted filesystem with ordered data mode. Opts: barrier=0,journal_checksum,noauto_da_alloc
<6>[    8.170005] EXT4-fs (mmcblk0p13): barriers disabled
<6>[    8.173003] EXT4-fs (mmcblk0p13): mounted filesystem with ordered data mode. Opts: barrier=0



On Tue, Jan 14, 2014 at 9:40 AM, Rajesh Mallah <mallah.rajesh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
the flash chip on the pcb is FORESEE NCTSTS86-04G .


On Tue, Jan 14, 2014 at 8:40 AM, Rajesh Mallah <mallah.rajesh <at> gmail.com> wrote:
dear nils nuls,
can u pls post the nand related lines of  your dmesg?
ie

dmesg | grep -i nand

also can you tell what is the flash chip on ur board?

regds
mallah.



On Tue, Jan 14, 2014 at 12:49 AM, Rajesh Mallah <mallah.rajesh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:


I would like to point out that

root <at> A20:~# dmesg | grep -i nand
[    0.899089] [NAND] nand driver version: 0x2 0x9
[    0.903783] [SCAN_ERR] search nand physical architecture parameter failed!
[    0.910650] [NAND]init_blklayer fail


 



--
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/groups/opt_out.
Rajesh Mallah | 14 Jan 05:29 2014
Picon

Re: Re: help with NAND access of A20 based MELE M5

Even the uboot

U-Boot 2011.09-rc1-00002-g5741652-dirty (Apr 24 2013 - 08:47:27) Allwinner Technology
arm-linux-gnueabi-gcc (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) 4.6.3 20120201 (prerelease)
GNU ld (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) 2.22


recognizes the device as an mmc only eg:


sunxi#nand info
sunxi#nand device
no devices available


sunxi#mmc list
SUNXI SD/MMC: 2

sunxi#mmcinfo
Device: SUNXI SD/MMC
Manufacturer ID: 88
OEM: 803
Name: NCard
Tran Speed: 25000000
Rd Block Len: 512
SD version 2.0
High Capacity: Yes
Capacity: 3.6 GiB
Bus Width: 4-bit
sunxi#


unxi#mmc part
Partition Map for MMC device 2  --   Partition Type: DOS
Partition     Start Sector     Num Sectors     Type
    1              4628480         3014656       b
    2                73728           32768       6
    3                    1         4521984       5 Extd
    5               106496           32768      83
    6               139264           32768      83
    7               172032         1048576      83
    8              1220608         2097152      83
    9              3317760           32768      83
   10              3350528           65536      83
   11              3416064          655360      83
   12              4071424           32768      83
   13              4104192          524288      83

Any suggestions why it does not shows in linux as a mmc blockdevice . I
only see the SDcard mmc device.




On Tue, Jan 14, 2014 at 9:50 AM, Rajesh Mallah <mallah.rajesh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:

Hi,

In Android the flash is recognized as  mmcblk0 . The android kernel is:

/ # cat /proc/version
Linux version 3.3.0+ (zhangyb <at> dev21) (gcc version 4.6.3 20120201 (prerelease) (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) ) #2 SMP PREEMPT Wed A3
/ #



<4>[    1.185531] [mmc-msg] sw_mci_init
<4>[    1.185607] [mmc-msg] MMC host used card: 0xd, boot card: 0x4, io_card 8
<4>[    1.187020] [mmc-msg] sdc2 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.188091] [mmc-msg] sdc2 Probe: base:0xf0098000 irq:66 sg_cpu:ffdfb000(43c20000) ret 0.
<4>[    1.188107] [mmc-msg] sdc2 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.188118] [mmc-msg] sdc2 power on
<4>[    1.188847] [mmc-msg] sdc0 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.189925] [mmc-msg] sdc0 Probe: base:0xf009a000 irq:64 sg_cpu:ffdfa000(43c21000) ret 0.
<4>[    1.190515] [mmc-msg] sdc3 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.191595] [mmc-msg] sdc3 Probe: base:0xf009c000 irq:67 sg_cpu:ffdf9000(43c22000) ret 0.
<4>[    1.203472] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.275819] [mmc-err] smc 2 err, cmd 52,  RTO
<4>[    1.276683] [mmc-err] smc 2 err, cmd 52,  RTO
<4>[    1.276735] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.279167] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.281316] [mmc-err] smc 2 err, cmd 5,  RTO
<4>[    1.282143] [mmc-err] smc 2 err, cmd 5,  RTO
<4>[    1.282971] [mmc-err] smc 2 err, cmd 5,  RTO
<4>[    1.283798] [mmc-err] smc 2 err, cmd 5,  RTO
<4>[    1.284449] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.284485] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.286876] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
<4>[    1.336559] [mmc-msg] sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
<4>[    1.336607] [mmc-msg] sdc2 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
<4>[    1.391797] [mmc-msg] sdc2 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B
<6>[    1.391857] mmc0: new high speed SDHC card at address b368
<6>[    1.392802] mmcblk0: mmc0:b368 NCard 3.61 GiB
<6>[    1.397400]  mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 p10 p11 p12 p13 >
<4>[    1.397466] mmcblk0: p1 size 3014656 extends beyond EOD, truncated
<6>[    1.568739] EXT4-fs (mmcblk0p7): barriers disabled
<6>[    1.585566] EXT4-fs (mmcblk0p7): recovery complete
<6>[    1.586846] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: barrier=0
<6>[    3.041626] EXT4-fs (mmcblk0p8): barriers disabled
<6>[    3.196375] EXT4-fs (mmcblk0p8): recovery complete
<6>[    3.197641] EXT4-fs (mmcblk0p8): mounted filesystem with ordered data mode. Opts: barrier=0
<6>[    3.488706] EXT4-fs (mmcblk0p8): barriers disabled
<6>[    3.491371] EXT4-fs (mmcblk0p8): mounted filesystem with ordered data mode. Opts: barrier=0,journal_checksum,noauto_da_alloc
<6>[    8.015456] EXT4-fs (mmcblk0p11): barriers disabled
<6>[    8.031786] EXT4-fs (mmcblk0p11): recovery complete
<6>[    8.033100] EXT4-fs (mmcblk0p11): mounted filesystem with ordered data mode. Opts: barrier=0
<6>[    8.137171] EXT4-fs (mmcblk0p11): barriers disabled
<6>[    8.139677] EXT4-fs (mmcblk0p11): mounted filesystem with ordered data mode. Opts: barrier=0,journal_checksum,noauto_da_alloc
<6>[    8.170005] EXT4-fs (mmcblk0p13): barriers disabled
<6>[    8.173003] EXT4-fs (mmcblk0p13): mounted filesystem with ordered data mode. Opts: barrier=0



On Tue, Jan 14, 2014 at 9:40 AM, Rajesh Mallah <mallah.rajesh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
the flash chip on the pcb is FORESEE NCTSTS86-04G .


On Tue, Jan 14, 2014 at 8:40 AM, Rajesh Mallah <mallah.rajesh <at> gmail.com> wrote:
dear nils nuls,
can u pls post the nand related lines of  your dmesg?
ie

dmesg | grep -i nand

also can you tell what is the flash chip on ur board?

regds
mallah.



On Tue, Jan 14, 2014 at 12:49 AM, Rajesh Mallah <mallah.rajesh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:


I would like to point out that

root <at> A20:~# dmesg | grep -i nand
[    0.899089] [NAND] nand driver version: 0x2 0x9
[    0.903783] [SCAN_ERR] search nand physical architecture parameter failed!
[    0.910650] [NAND]init_blklayer fail


 




--
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/groups/opt_out.
Dmitriy B. | 14 Jan 05:40 2014
Picon

Re: Re: help with NAND access of A20 based MELE M5

2014/1/14 Rajesh Mallah <mallah.rajesh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
In Android the flash is recognized as  mmcblk0 . 

That means that this is not a NAND flash. It is eMMC flash connected to one of the SD ports.

You dont need NAND flash controller to use eMMC.

--
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/groups/opt_out.
Picon

Re: Re: Boot Android from SD card

I got this working after a while.

Replace unimg with awimage -u original.img
Touch up some syntax issues with linux versions
replace mele uboot/spl with your own

#!/bin/sh
PREFIX=`dirname $0`
if [ ! -f original.img ]
then
echo "original.img not found, please create it!"
exit 1
fi

echo Cleaning extract directory
rm -rf _extract
echo Unpacking image from original.img
awimage -u original.img
echo Moving dump to extract directory
mv original.img.dump _extract
echo Renaming files to .fex
for a in _extract/*[0-z]???
do
       mv "$a" "$a.fex"
done
mv _extract/RFSFAT16_BOOTLOADER_FEX00.fex _input/bootfs.fex
mv _extract/RFSFAT16_BOOT_FEX00000000.fex _input/root.fex
mv _extract/RFSFAT16_SYSTEM_FEX000000.fex _input/system.fex
mv _extract/RFSFAT16_RECOVERY_FEX0000.fex _input/recovery.fex

echo Done...

In makefile...
tar xvf boot.tgz --no-same-owner -C tmp/boot

On Mon, Jan 13, 2014 at 9:18 PM, jonsmirl@...
<jonsmirl@...> wrote:
> I can't get unimg.exe to run under Wine.  It just prints garage and exits....
>
> Unpacking image from original.img
> ==╜Γ░ⁿ╩º░▄== IMAGEWTY[0]╖╓╬÷╓╞╫≈╣ñ╛▀ [┐¬╖ó╒▀: esxgx]
>
> Maybe I need some missing Windows library on Wine? I tried installing mfc42.
>
> On Mon, Jan 13, 2014 at 11:28 AM,  <nilsnuls0@...> wrote:
>> понедельник, 13 января 2014 г., 20:24:26 UTC+4 пользователь Jon
Smirl написал:
>>> Are there any tools for making a bootable Android SD card  - parallel to the Linux BSP tool? All the tools I
see write the Android into on board flash which really slows down the development cycle.
>>>
>>>
>>>
>>> --
>>> Jon Smirl
>>> jons...@...
>>
>> http://tmerle.blogspot.ru/2013_10_01_archive.html
>>
>> --
>> 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@...
>> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
> --
> Jon Smirl
> jonsmirl@...

-- 
Jon Smirl
jonsmirl@...

--

-- 
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@...
For more options, visit https://groups.google.com/groups/opt_out.

Rajesh Mallah | 14 Jan 07:00 2014
Picon

Re: Re: help with NAND access of A20 based MELE M5

Yes i will compile the kernel with most of the mmc options enabled and see if it detects.
Thanks  for the input.
regds
mallah.


On Tue, Jan 14, 2014 at 10:10 AM, Dmitriy B. <rzk333-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
2014/1/14 Rajesh Mallah <mallah.rajesh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
In Android the flash is recognized as  mmcblk0 . 

That means that this is not a NAND flash. It is eMMC flash connected to one of the SD ports.

You dont need NAND flash controller to use eMMC.

--
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/groups/opt_out.

--
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/groups/opt_out.
Hans de Goede | 14 Jan 09:44 2014
Picon

Re: Re: [PATCH v5 2/2] ehci-platform: Add support for clks and phy passed through devicetree

Hi,

On 01/14/2014 05:12 AM, Tony Prisk wrote:
> On 14/01/14 11:45, Hans de Goede wrote:
>> Currently ehci-platform is only used in combination with devicetree when used
>> with some Via socs. By extending it to (optionally) get clks and a phy from
>> devicetree, and enabling / disabling those on power_on / off, it can be used
>> more generically. Specifically after this commit it can be used for the
>> ehci controller on Allwinner sunxi SoCs.
>>
>> Since ehci-platform is intended to handle any generic enough non pci ehci
>> device, add a "usb-ehci" compatibility string.
>>
>> There already is a usb-ehci device-tree bindings document, update this
>> with clks and phy bindings info.
>>
>> Although actually quite generic so far the via,vt8500 compatibilty string
>> had its own bindings document. Somehow we even ended up with 2 of them. Since
>> these provide no extra information over the generic usb-ehci documentation,
>> this patch removes them.
>>
>> The ehci-ppc-of.c driver also claims the usb-ehci compatibility string,
>> even though it mostly is ibm,usb-ehci-440epx specific. ehci-platform.c is
>> not needed on ppc platforms, so add a !PPC_OF dependency to it to avoid
>> 2 drivers claiming the same compatibility string getting build on ppc.
>>
>> Signed-off-by: Hans de Goede <hdegoede@...>
>> ---
>>   Documentation/devicetree/bindings/usb/usb-ehci.txt |  25 +++-
>>   .../devicetree/bindings/usb/via,vt8500-ehci.txt    |  15 ---
>>   .../devicetree/bindings/usb/vt8500-ehci.txt        |  12 --
>>   drivers/usb/host/Kconfig                           |   1 +
>>   drivers/usb/host/ehci-platform.c                   | 149 +++++++++++++++++----
>>   5 files changed, 142 insertions(+), 60 deletions(-)
>>   delete mode 100644 Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt
>>   delete mode 100644 Documentation/devicetree/bindings/usb/vt8500-ehci.txt
>>
>> diff --git a/Documentation/devicetree/bindings/usb/usb-ehci.txt b/Documentation/devicetree/bindings/usb/usb-ehci.txt
>> index fa18612..fad10f3 100644
>> --- a/Documentation/devicetree/bindings/usb/usb-ehci.txt
>> +++ b/Documentation/devicetree/bindings/usb/usb-ehci.txt
>>  <at>  <at>  -7,13 +7,14  <at>  <at>  Required properties:
>>       (debug-port or other) can be also specified here, but only after
>>       definition of standard EHCI registers.
>>     - interrupts : one EHCI interrupt should be described here.
>> -If device registers are implemented in big endian mode, the device
>> -node should have "big-endian-regs" property.
>> -If controller implementation operates with big endian descriptors,
>> -"big-endian-desc" property should be specified.
>> -If both big endian registers and descriptors are used by the controller
>> -implementation, "big-endian" property can be specified instead of having
>> -both "big-endian-regs" and "big-endian-desc".
>> +
>> +Optional properties:
>> + - big-endian-regs : boolean, set this for hcds with big-endian registers
>> + - big-endian-desc : boolean, set this for hcds with big-endian descriptors
>> + - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
>> + - clocks : a list of phandle + clock specifier pairs
>> + - phys : phandle + phy specifier pair
>> + - phy-names : "usb"
>>   Example (Sequoia 440EPx):
>>       ehci <at> e0000300 {
>>  <at>  <at>  -23,3 +24,13  <at>  <at>  Example (Sequoia 440EPx):
>>          reg = <0 e0000300 90 0 e0000390 70>;
>>          big-endian;
>>      };
>> +
>> +Example (Allwinner sun4i A10 SoC):
>> +   ehci0: ehci <at> 0x01c14000 {
>> +       compatible = "allwinner,sun4i-a10-ehci", "usb-ehci";
>> +       reg = <0x01c14000 0x100>;
>> +       interrupts = <39>;
>> +       clocks = <&ahb_gates 1>;
>> +       phys = <&usbphy 1>;
>> +       phy-names = "usb";
>> +   };

<snip>

> You have removed the documentation for the via,vt8500-ehci and wm,prizm-ehci bindings (which in itself
isn't really an issue), and left them in the driver (again, not an issue)

Correct.

> - except now we have two bindings without any binding documentation?!?

My reasoning behind is that the driver is really a generic usb-ehci driver, and the only reason
the 2 compatibility strings are left in there is for backwards compatibility. I don't think
compatibility strings only kept in the driver for backwards compatibility should be documented,
because documented suggests people can rely on them and then they may end up getting used for new things.

> I'm not sure where the 'wm,prizm-ehci' string came from (presumably me some time ago), but it isn't used
and could be dropped.
> All WonderMedia SoCs use the 'via,vt8500-ehci' - Doing a quick grep of arch/arm/boot/dts shows no usage
of 'wm,prizm-ehci'.
>
> Arguably, the dtsi files for the WonderMedia SoCs could be updated to include 'usb-ehci' as a second
compatible string

Right, I think this would be a good thing to do regardless, also see all the existing dts files for other
boards already doing this (which is why we ended up using usb-ehci in the first place).

> and the 'via,vt8500-ehci' could be dropped from the driver - but it does mean that old dts files won't work
with the current kernel (and I think that's a no-no).

Right, which is exactly why I did not remove them from the driver. But since as you indicate yourself
if we were to do things from scratch we would likely not put them in the driver it seems best to
leave them undocumented. Alternatively, if you see this as a problem I can add a note to usb-ehci.txt listing
these 2 compatibility strings as legacy compatiblity strings, which should not be used for new dts files.

Regards,

Hans


Gmane