Jump to content

jonsmirl

Members
  • Posts

    13
  • Joined

  • Last visited

Posts posted by jonsmirl

  1. I have verified that the kernel inside of this:

    https://drive.google.com/open?id=0B_YnvHgh2rwjaVVMSi1xU1ZOY2c

     

    Builds, loads into the M64 eMMC using PhoenixCard, and will boot out of the eMMC.

    That is a recent Android 6.01 dump from Allwinner with M64 support added in.

     

    I will start turning it back into a repo (it started out as a repo and the middlemen removed the repo support) based on AOSP and load the git trees on gitlab. It is going to take me a couple of days to turn it back into a repo. Meanwhile you can download it and extract the working eMMC driver from it.

     

    The M64 eMMC wants to run in DDR mode. The older kernel in my Pine64 Android 5.1 does not have working eMMC DDR support in it.

     

    PS - the build tools were moved from that dump, you will have to add them back in.

    PPS - running pack on the Android side does not generate a valid image, in lichee './build.sh pack' does.

  2. shell@tulip-bpi-m64:/ $ 

    shell@tulip-bpi-m64:/ $ 
    shell@tulip-bpi-m64:/ $ dmesg | grep mmc                                       
    [    0.000000] Kernel command line: earlyprintk=sunxi-uart,0x01c28000 initcall_debug=0 console=ttyS0,115200 loglevel=8 root=/dev/mmcblk0p7 init=/init partitions=bootloader@mmcblk0p2:env@mmcblk0p5:boot@mmcblk0p6:system@mmcblk0p7:verity_block@mmcblk0p8:misc@mmcblk0p9:recovery@mmcblk0p10:cache@mmcblk0p11:metadata@mmcblk0p12:private@mmcblk0p13:frp@mmcblk0p14:empty@mmcblk0p15:alog@mmcblk0p16:media_data@mmcblk0p17:UDISK@mmcblk0p1 cma=256M androidboot.selinux=enforcing androidboot.serialno=0410503444104420048e androidboot.hardware=sun50iw1p1 boot_type=2 androidboot.verifiedbootstate=<NULL> androidboot.sunxi_rotpk=<NULL>
    [    2.249755] sunxi-mmc 1c11000.sdmmc: SD/MMC/SDIO Host Controller Driver(v0.37 2015-11-9 15:13) Compiled in Sep 13 2016 at 18:51:56
    [    2.262868] sunxi-mmc 1c11000.sdmmc: regulator prop vmmc,str vcc-emmcv
    [    2.270132] sunxi-mmc 1c11000.sdmmc: regulator prop vqmmc,str vcc-emmcvq18
    [    2.277643] sunxi-mmc 1c11000.sdmmc: regulator prop vdmmc,str none
    [    2.284816] sunxi-mmc 1c11000.sdmmc: No vdmmc regulator found
    [    2.312366] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 0Hz bm PP pm UP vdd 22 width 1 timing LEGACY(SDR12) dt B
    [    2.350027] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 22 width 1 timing LEGACY(SDR12) dt B
    [    2.380049] sunxi-mmc 1c11000.sdmmc: base:0xffffff80000b8000 irq:94
    [    2.380863] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 52, RTO !!
    [    2.381696] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 52, RTO !!
    [    2.381714] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 22 width 1 timing LEGACY(SDR12) dt B
    [    2.384118] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 22 width 1 timing LEGACY(SDR12) dt B
    [    2.385984] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 8, RTO !!
    [    2.386811] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 5, RTO !!
    [    2.387636] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 5, RTO !!
    [    2.388461] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 5, RTO !!
    [    2.389286] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 5, RTO !!
    [    2.390114] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 55, RTO !!
    [    2.390941] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 55, RTO !!
    [    2.391768] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 55, RTO !!
    [    2.392596] sunxi-mmc 1c11000.sdmmc: smc 0 p2 err, cmd 55, RTO !!
    [    2.392614] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 400000Hz bm OD pm ON vdd 22 width 1 timing LEGACY(SDR12) dt B
    [    2.392967] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 400000Hz bm OD pm ON vdd 7 width 1 timing LEGACY(SDR12) dt B
    [    2.393011] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 400000Hz bm OD pm ON vdd 7 width 1 timing LEGACY(SDR12) dt B
    [    2.393051] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 400000Hz bm OD pm ON vdd 7 width 1 timing LEGACY(SDR12) dt B
    [    2.395448] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 400000Hz bm OD pm ON vdd 7 width 1 timing LEGACY(SDR12) dt B
    [    2.411207] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 7 width 1 timing LEGACY(SDR12) dt B
    [    2.422758] mmc0: BKOPS_EN bit is not set
    [    2.557926] sunxi-mmc 1c0f000.sdmmc: SD/MMC/SDIO Host Controller Driver(v0.37 2015-11-9 15:13) Compiled in Sep 13 2016 at 18:51:56
    [    2.571002] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 7 width 1 timing MMC-HS(SDR20) dt B
    [    2.571033] sunxi-mmc 1c0f000.sdmmc: regulator prop vmmc,str vcc-sdcv
    [    2.571041] sunxi-mmc 1c0f000.sdmmc: regulator prop vqmmc,str vcc-sdcvq33
    [    2.571047] sunxi-mmc 1c0f000.sdmmc: regulator prop vdmmc,str vcc-sdcvd
    [    2.604729] mmc0: Check switch ready sunxi_mmc_check_timing_switch_done
    [    2.619988] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 50000000Hz bm PP pm ON vdd 7 width 1 timing MMC-HS(SDR20) dt B
    [    2.631874] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 50000000Hz bm PP pm ON vdd 7 width 8 timing MMC-HS(SDR20) dt B
    [    2.631875] sunxi-mmc 1c0f000.sdmmc: Got CD GPIO #166.
    [    2.649620] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 50000000Hz bm PP pm ON vdd 7 width 8 timing UHS-DDR50 dt B
    [    2.649623] sunxi-mmc 1c0f000.sdmmc: base:0xffffff80000c0000 irq:92
    [    2.650092] sunxi-mmc 1c10000.sdmmc: SD/MMC/SDIO Host Controller Driver(v0.37 2015-11-9 15:13) Compiled in Sep 13 2016 at 18:51:56
    [    2.650128] sunxi-mmc 1c10000.sdmmc: Can't get vmmc regulator string
    [    2.650133] sunxi-mmc 1c10000.sdmmc: Can't get vqmmc regulator string
    [    2.650138] sunxi-mmc 1c10000.sdmmc: Can't get vdmmc regulator string
    [    2.650147] sunxi-mmc 1c10000.sdmmc: No vmmc regulator found
    [    2.650150] sunxi-mmc 1c10000.sdmmc: No vqmmc regulator found
    [    2.650154] sunxi-mmc 1c10000.sdmmc: No vdmmc regulator found
    [    2.733253] sunxi-mmc 1c11000.sdmmc: sdc set ios: clk 50000000Hz bm PP pm ON vdd 7 width 8 timing UHS-DDR50 dt B
    [    2.744701] mmc0: new high speed DDR MMC card at address 0001
    [    2.745087] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    2.745106] sunxi-mmc 1c10000.sdmmc: no vqmmc,Check if there is regulator
    [    2.760031] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    2.780064] sunxi-mmc 1c10000.sdmmc: base:0xffffff80000c8000 irq:93
    [    2.790661] mmcblk0: mmc0:0001 8WPD3R 7.28 GiB 
    [    2.802547] mmcblk0boot0: mmc0:0001 8WPD3R partition 1 4.00 MiB
    [    2.809875] mmcblk0boot1: mmc0:0001 8WPD3R partition 2 4.00 MiB
    [    2.854067]  mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 >
    [    2.854092] mmcblk0: p1 size 8937472 extends beyond EOD, truncated
    [    2.885206]  mmcblk0boot1: unknown partition table
    [    2.895855]  mmcblk0boot0: unknown partition table
    [    2.896216] *mmc0 lock timeout*
    [    2.990859] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 52, RTO !!
    [    2.998532] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 52, RTO !!
    [    3.005400] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    3.019480] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    3.021363] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 8, RTO !!
    [    3.022184] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 5, RTO !!
    [    3.023004] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 5, RTO !!
    [    3.023821] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 5, RTO !!
    [    3.024639] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 5, RTO !!
    [    3.025461] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 55, RTO !!
    [    3.026279] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 55, RTO !!
    [    3.027099] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 55, RTO !!
    [    3.027916] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 55, RTO !!
    [    3.027932] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    3.028780] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 1, RTO !!
    [    3.028796] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 0Hz bm OD pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
    [    3.029845] *mmc2 unlock*
    [    5.201722] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: barrier=1
    [    5.211085] SELinux: initialized (dev mmcblk0p7, type ext4), uses xattr
    [    5.228724] EXT4-fs (mmcblk0p11): Ignoring removed nomblk_io_submit option
    [    5.245118] EXT4-fs (mmcblk0p11): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,errors=remount-ro
    [    5.256936] SELinux: initialized (dev mmcblk0p11, type ext4), uses xattr
    [    5.385313] EXT4-fs (mmcblk0p11): Ignoring removed nomblk_io_submit option
    [    5.401142] EXT4-fs (mmcblk0p11): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic
    [    5.416260] SELinux: initialized (dev mmcblk0p11, type ext4), uses xattr
    [    5.433400] EXT4-fs (mmcblk0p16): Ignoring removed nomblk_io_submit option
    [    5.445618] EXT4-fs (mmcblk0p16): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,errors=remount-ro
    [    5.457439] SELinux: initialized (dev mmcblk0p16, type ext4), uses xattr
    [    5.526303] EXT4-fs (mmcblk0p16): Ignoring removed nomblk_io_submit option
    [    5.538630] EXT4-fs (mmcblk0p16): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic
    [    5.553771] SELinux: initialized (dev mmcblk0p16, type ext4), uses xattr
    [    5.570853] EXT4-fs (mmcblk0p1): VFS: Can't find ext4 filesystem
    [    5.720117] EXT4-fs (mmcblk0p1): VFS: Can't find ext4 filesystem
    [    5.795973] FAT-fs (mmcblk0p17): bogus number of reserved sectors
    [    5.802776] FAT-fs (mmcblk0p17): Can't find a valid FAT filesystem
    [    8.507452] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    8.518640] sunxi-mmc 1c10000.sdmmc: no vqmmc,Check if there is regulator
    [    8.540024] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    8.570836] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 52, RTO !!
    [    8.578424] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 52, RTO !!
    [    8.585096] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    8.599197] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
    [    8.612652] sunxi-mmc 1c10000.sdmmc: smc 2 p1 err, cmd 8, RTO !!
    [    8.619645] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 16 width 1 timing LEGACY(SDR12) dt B
    [    8.640354] mmc2: queuing unknown CIS tuple 0x80 (2 bytes)
    [    8.647965] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
    [    8.655577] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
    [    8.664435] mmc2: queuing unknown CIS tuple 0x80 (7 bytes)
    [    8.756550] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vdd 16 width 1 timing SD-HS(SDR25) dt B
    [    8.768100] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 50000000Hz bm PP pm ON vdd 16 width 1 timing SD-HS(SDR25) dt B
    [    8.779892] sunxi-mmc 1c10000.sdmmc: sdc set ios: clk 50000000Hz bm PP pm ON vdd 16 width 4 timing SD-HS(SDR25) dt B
    [    8.792924] mmc2: new high speed SDIO card at address 0001
    [    8.801771] *mmc2 lock timeout*
    [    8.823535] bcmsdh_sdmmc: bcmsdh_sdmmc_probe Enter
    [    8.828845] bcmsdh_sdmmc: bcmsdh_sdmmc_probe Enter
    [    9.233650] type=1400 audit(1484013113.200:4): avc: denied { execute_no_trans } for pid=1688 comm="init" path="/system/bin/sh" dev="mmcblk0p7" ino=451 scontext=u:r:init:s0 tcontext=u:object_r:shell_exec:s0 tclass=file permissive=0
    [    9.352501] FAT-fs (mmcblk0p2): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    9.363868] SELinux: initialized (dev mmcblk0p2, type vfat), uses genfs_contexts
    shell@tulip-bpi-m64:
  3. /*

     -- speed mode --

    sm0: DS26_SDR12

    sm1: HSSDR52_SDR25

    sm2: HSDDR52_DDR50

    sm3: HS200_SDR104

    sm4: HS400

     

    -- frequency point --

    f0: CLK_400K

    f1: CLK_25M

    f2: CLK_50M

    f3: CLK_100M

    f4: CLK_150M

    f5: CLK_200M

    */

    /* some information is passed in boot0's extend data buffer: BT0_head.prvt_head.storage_data

        these information is write to BT0_head.prvt_head.storage_data before write boot0 during product.

        1. BT0_head.prvt_head.storage_data + 128 Byte

            +0 struct tune_sdly

        2. BT0_head.prvt_head.storage_data + 128 + sizeof(struct tune_sdly) Byte

            +0 Byte: boot0_para

            +1 Byte: boot_odly_50M

            +2 Byte: boot_sdly_50M

            +3 Byte: boot_odly_50M_ddr

            +4 Byte: boot_sdly_50M_ddr

            +5 Byte: boot_hs_f_max

    */

  4. ;--------------------------------------------------------------------------------

     

    ;   SDMMC PINS MAPPING                                                          |

    ; ------------------------------------------------------------------------------|

    ;   Config Guide                                                                |

    ;   sdc_used: 1-enable card, 0-disable card                                     |

    ;   non-removable:if you use as main memory,you should set it,for example eMMC  |

    ;   bus-width: card bus width, 1-1bit, 4-4bit, 8-8bit                           |

    ;   sunxi-power-save-mode: if use sdio card,should not set it                   |

    ;   vmmc:regulator for card/emmc power |

    ;    vqmmc:regulator for card/emmc io power |

    ;    vdmmc:regulator for card detect pin pull up power |

    ;   other: GPIO Mapping configuration                                           |

    ; ------------------------------------------------------------------------------|

     

    [pmu0_regu]


    regulator_count = 23

    regulator1      = "axp81x_dcdc1 none vcc-nand vcc-emmc vcc-sdc vcc-usb-30 vcc-io vcc-emmcv vcc-emmcvq33 vcc-sdcvq33 vcc-sdcv vcc-sdcvd"


    regulator16     = "axp81x_eldo1 none vcc-cpvdd vcc-pc vcc-emmcvq18"

     

    [sdc2]

    sdc2_used          = 1

    non-removable =

    bus-width = 8

    sdc2_ds            = port:PC01<3><1><3><default>

    sdc2_clk           = port:PC05<3><1><3><default>

    sdc2_cmd           = port:PC06<3><1><3><default>

    sdc2_d0            = port:PC08<3><1><3><default>

    sdc2_d1            = port:PC09<3><1><3><default>

    sdc2_d2            = port:PC10<3><1><3><default>

    sdc2_d3            = port:PC11<3><1><3><default>

    sdc2_d4            = port:PC12<3><1><3><default>

    sdc2_d5            = port:PC13<3><1><3><default>

    sdc2_d6            = port:PC14<3><1><3><default>

    sdc2_d7            = port:PC15<3><1><3><default>

    sdc2_emmc_rst      = port:PC16<3><1><3><default>

    cd-gpios   =

    sunxi-power-save-mode = 

    sunxi-dis-signal-vol-sw = 

    mmc-ddr-1_8v   =

    mmc-hs200-1_8v   =

    mmc-hs400-1_8v   =

    max-frequency   = 100000000

    sdc_tm4_sm0_freq0 = 0

    sdc_tm4_sm0_freq1 = 0

    sdc_tm4_sm1_freq0 = 0x00000000

    sdc_tm4_sm1_freq1 = 0

    sdc_tm4_sm2_freq0 = 0x00000000

    sdc_tm4_sm2_freq1 = 0

    sdc_tm4_sm3_freq0 = 0x05000000

    sdc_tm4_sm3_freq1 = 0x00000405

    sdc_tm4_sm4_freq0 = 0x00050000

    sdc_tm4_sm4_freq1 = 0x00000408

    vmmc="vcc-emmcv"

    ;vqmmc="vcc-emmcvq33"

    vqmmc="vcc-emmcvq18"

    vdmmc="none"

  5. There isn't really much source to release for the BPi M64 Android build. It is unchanged from Allwinner's stock release except for a couple lines in a fex file where BPI moved a few wires around. An accurate schematic for M64 has been released so we know where those wires go now.  I have been running their Android image for a couple weeks and it has never crashed unless I was messing around and doing bad things to it. It has no issues with adb.

     

    The hardware seems stable. My board is exposed to the open air and it stays about room temperature, no thermal problems. But I am not running any games that would peg the fours cores at 100% for an hour. If you did that it'd probably get really hot.

     

    It should not be a big deal to get Armbian working on the M64. The M64 is closer to the Allwinner reference design than the Pine64 is. The Ampak AP6212 wifi/BT is quite common and drivers for it have been in mainline since around 3.5 or so. All of the USB OTG support is correctly wired up (unlike the Pine). Ethernet PHY is common. Nothing special about the eMMC. All of the needed pieces are available, someone just needs to take the time to put them together. It could be as simple as having an accurate device tree and a kernel that supports the A64.

     

    Something I do hope to be getting in the near future is direct access to the Allwinner git server. I've only been asking for about five years now. Direct access would save me the pain of getting 6GB snapshots from the OEMs and then turning them back into AOSP repo trees. Still waiting on my dream of Allwinner getting support for their SOCs into mainline.

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines