Banana Pi BPI-M64

From Banana Pi Wiki
Jump to: navigation, search

Introduction[edit]

Overview
Overview:Allwinner A64
Premium Aluminum Enclosure
BPI-M64 acrylic case
BPI-M64 for BPI 4.0 Successful case : A64 for smart home design
BPI-M64 for BPI 4.0 Successful case :A64 for IoT gateway design


Banana Pi BPI-M64 is a 64-bit quad-core mini single board computer. It features 2GB of RAM and 8GB eMMC. It also has onboard WiFi and BT. On the ports side, the BPI-M64 has 2 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, and lastly a DC power port. The processor is pin-to-pin comptialbe with R18, so it comes with two versions:M64 and M64-R18.

BPI-M64.jpg

Also being a member of the Banana Pi family, the M64 is a big jump from the octa-core BPI-M3. This is because this Banana Pi BPI is named after its 64-bit SoC. BPI-M64 will be reserved for an upcoming board

BPI-M64 is an open platform device, it is for anyone who wants to play and build with developer technology instead of simply using consumer technology. Backed by our community, starting a project and building servers is fun and rewarding. We welcome all companies, DIYers, and tech loving people within our community! Together, we can make a difference, we can discover our passions, inspire others, and build a practical project.

Key Features[edit]

  • Allwinner A64 1.2 Ghz Quad-Core ARM Cortex A53 64-Bit Processor.
  • 2 GB DDR3 SDRAM
  • 8G EMMC
  • 10/100/1000Mbps Ethernet
  • WiFi (AP6212) & Bluetooth
  • MIPI LCD interface
  • Camera interface

Getting Start[edit]

Hardware[edit]

Hardware interfact[edit]

BPI-M64 interface.jpg

Hardware spec[edit]

HardWare Specification of Banana pi BPI-M64
CPU Allwinner 64 Bit Quad Core ARM Cortex A53 1.2 GHz CPU
GPU Dual core Mali 400 MP2 GPU
Memory 2GB LPDDR3 (shared with GPU)
Storage MicroSD slot with support for up to 256GB expansion and 8G eMMC flash with support for up to 64GB
Network 10/100/1000 Mbit/s Ethernet + Wi-Fi 802.11 b/g/n + Bluetooth 4.0
Video Input(s) A CSI input connector allows for the connection of a designed camera module
Video Output(s) 1080p capable HDMI port and multi-channel audio output (NO H./X.265 capabilities)
Audio Input(s) On board microphone
Audio Output(s) 3.5mm jack and HDMI
USB ports USB 2.0 PORT (x2), USB OTG (x1)
Remote IR Receiver
GPIO 40 Pin Header : GPIO (x28) and Power (+5V, +3.3V and GND). GPIO pins can be used for UART, I2C, SPI or PWM
Switches Reset, Power and U-boot
LED Power Status and 8P8C
Power Source 5 volt @2A via DC Power and/or Micro USB (OTG)
Size & Weight 92x60mm, 48g
OS Android and Linux

GPIO PIN define[edit]

Banana Pi BPI-M64 has a 40-pin GPIO header that matches that of the Model Raspberry Pi 3. Following is the Banana Pi GPIO Pinout:

Gpio define.png

40 PIN GPIO of Banana pi BPI-M64
GPIO Pin Name Default Function Function2:GPIO Function3
CON2-P01 VCC-3V3    
CON2-P02 VCC-5V    
CON2-P03 TWI1-SDA PH3  
CON2-P04 VCC-5V  
CON2-P05 TWI1-SCK PH2
CON2-P06 GND    
CON2-P07 PH6 PH6  
CON2-P08 UART2-TX PB0  
CON2-P09 GND    
CON2-P10 UART2-RX PB1  
CON2-P11 PH7 PH7  
CON2-P12 UART2-CTS PB3  
CON2-P13 DMIC-CLK PH10  
CON2-P14 GND    
CON2-P15 DMIC-DIN PH11  
CON2-P16 UART2-RTS PB2  
CON2-P17 VCC-3V3    
CON2-P18 PD4 PD4  
CON2-P19 SPI1-MOSI PD2 UART4-TX
CON2-P20 GND    
CON2-P21 SPI1-MISO PD3 UART4-RX
CON2-P22 PC0 PC0  
CON2-P23 SPI1-CLK PD1 UART3-RX
CON2-P24 SPI1-CS PD0 UART3-TX
CON2-P25 GND    
CON2-P26 PC2 PC2  
CON2-P27 PC4 PC4  
CON2-P28 PC3 PC3  
CON2-P29 PC7 PC7  
CON2-P30 GND    
CON2-P31 PCM0-BCLK PB5
CON2-P32 PCM0-DIN PB7  
CON2-P33 PCM0-SYNC PB4
CON2-P34 GND    
CON2-P35 PCM0-DOUT PB6  
CON2-P36 PL9 PL9  
CON2-P37 PL12 PL12  
CON2-P38 PL7 PL7  
CON2-P39 GND    
CON2-P40 PL8 PL8  

CSI Camera Connector specification:

The CSI Camera Connector is a 40-pin FPC connector which can connect external camera module with proper signal pin mappings. The pin definitions of the CSI interface are shown as below. This is marked on the Banana Pi board as “Camera”.

CSI camer PIN define of Banana pi BPI-M64
CSI Pin Name Default Function Function2:GPIO
CN5-P01 NC  
CN5-P02 GND  
CN5-P03 CSI0-SDA PE13
CN5-P04 CSI0-AVDD  
CN5-P05 CSI0-SCK PE12
CN5-P06 CSI0-Reset PE16
CN5-P07 CSI0-VSYNC
CN5-P08 CSI0-PWDN PE17
CN5-P09 CSI0-HSYNC PE2
CN5-P10 CSI0-DVDD  
CN5-P11 CSI0-DOVDD  
CN5-P12 CSI0-D7 PE11
CN5-P13 CSI0-MCLK PE1
CN5-P14 CSI0-D6 PE10
CN5-P15 GND  
CN5-P16 CSI0-D5 PE9
CN5-P17 CSI0-PCLK PE0
CN5-P18 CSI0-D4 PE8
CN5-P19 CSI0-D0 PE4
CN5-P20 CSI0-D3 PE7
CN5-P21 CSI0-D1 PE5
CN5-P22 CSI0-D2 PE6
CN5-P23 GND  
CN5-P24 CSI0-AFVCC

MIPI DSI (Display Serial Interface)

The display Connector is a 40-pin FPC connector which can connect external LCD panel (MIPI DSI) and touch screen (I2C) module as well. The pin definitions of this connector are shown as below. This is marked on the Banana Pi board as “DSI”.

MIPI DSI display PIN define of Banana pi BPI-M64
DSI Pin Name Default Function Function2:GPIO
CN6-P01 VCC  
CN6-P02 IPSOUT  
CN6-P03 VCC  
CN6-P04 IPSOUT  
CN6-P05 GND  
CN6-P06 IPSOUT  
CN6-P07 GND  
CN6-P08 IPSOUT  
CN6-P09 NC  
CN6-P10 GND  
CN6-P11 NC
CN6-P12 DSI-D0N  
CN6-P13 NC  
CN6-P14 DSI-D0P  
CN6-P15 NC  
CN6-P16 GND  
CN6-P17 TWI0-SDA PH1
CN6-P18 DSI-D1N
CN6-P19 TWI0-SCK PH0
CN6-P20 DSI-D1P  
CN6-P21 CTP-INT PH4
CN6-P22 GND  
CN6-P23 CTP-RST PH8
CN6-P24 DSI-CKN
CN6-P25 GND  
CN6-P26 DSI-CKP  
CN6-P27 LCD-BL-EN PD5
CN6-P28 GND  
CN6-P29 LCD-RST PD6
CN6-P30 DSI-D2N  
CN6-P31 LCD-PWR-EN PD7
CN6-P32 DSI-D2P  
CN6-P33 GND  
CN6-P34 GND  
CN6-P35 LCD-PWM PL10
CN6-P36 DSI-D3N  
CN6-P37 GND  
CN6-P38 DSI-D3P  
CN6-P39 NC  
CN6-P40 GND  

UART specification:

The header CON4 is the UART interface. For developers of Banana Pi, this is an easy way to get the UART console output to check the system status and log message.

Uart PIN define of Banana pi BPI-M2+
CON2 Pin Name Default Function GPIO
CON2 P03 UART0-TXD PB8
CON2 P02 UART0-RXD PB9
CON2 P01 GND  

Software[edit]

Development[edit]

Basic Development[edit]

Win 10 IoT[edit]

banana pi BPI-M64 IOT certifying pass by Microsoft:windows 10 iot core

Win10 1.png

link: https://azure.microsoft.com/en-us/documentation/articles/iot-hub-tested-configurations/

get start:

https://github.com/Azure/azure-iot-sdks/blob/master/doc/get_started/windows10-iot-core-banana-pi-bpi-m64-csharp.md

test on BPI-M64

Win10 2.jpg

discuss on forum: http://forum.banana-pi.org/t/banana-pi-bpi-m64-iot-certifying-pass-by-microsoft-windows-10-iot-core/2090

Windows 10 IoT Core for BPI-M64 Release Note

The Unified Extensible Firmware Interface (UEFI]) is a specification that defines a software interface between an operating system and platform firmware. UEFI replaces the Basic Input/Output System (BIOS) firmware interface originally present in all IBM PC-compatible personal computers AllWinner UEFI Firmware Release Notes

This document describes how to build AllWinner UEFI Firmware and bring a AllWinner dev board up with it. The AllWinner UEFI Firmware, as the major boot system for AllWinner-Windows platform, is based on the EDK2 framework which is open-source and with some AllWinner platform software packages injected.

Some updates:

1. Update the OS version to build v.10.0.15063.0 \(Creators Update\)
2. New page style of Device Portal, visit [1](https://deviceipaddr:8080) to check it
3. Built-in Cortana assistant, need to be enabled in settings page in default app and Device Portal
4. Support on-screen keyboard, need to be enabled in Device Portal
5. Enable 100M Ethernet and fix some bugs
6. Support built-in UART bus in A64 SoC\(not built in the ffu, later provide driver binary and deployment helper\)
7. Support built-in IR module in A64 SoC\(not built in the ffu, later provide source code and dev doc for developers in community\)

Known Issues:

Kernel debug is enabled by default. This will slow the bring-up process. If a kernel debug is not necessary for you, visit Device Portal and navigate to Processes->Run Command page, run this command to disable : Bcdedit /store C:\EFIESP\EFI\Microsoft\boot\BCD /set {default} debug off
An PnP bug in audio device may cause a blue screen when acting software shutdown
Ethernet device may not start with problem code 12 at the first time to bring up

And another bomb! I uploaded core driver binaries and packaging toolchains on GitHub!

Here is the repo address: https://github.com/Leeway213/BSP-aw1689

And also some driver source code here with A64 datasheet in readme: https://github.com/Leeway213/driver-samples

Welcome makers developers and anyone-elsers to post your feedback.

Resources[edit]

Source code[edit]

  • BPI-M64 Android 6.0.1 source code
download link : https://drive.google.com/open?id=0B_YnvHgh2rwjdTRVRVFaSHd2cnc
  • BPI-M64 (allwnner A64) Linux 4.4 source code
https://github.com/BPI-SINOVOIP/BPI-M64-bsp-4.4
Forum pthread: http://forum.banana-pi.org/t/banana-pi-bpi-m64-allwnner-a64-linux-4-4-source-code-public-on-github/6706
  • BPI-M64 Linux kernel 3.4 BSP code:
github link : https://github.com/BPI-SINOVOIP/BPI-M64-bsp
  • BPI-M64 Win10 IoT source code
https://bananapi.gitbooks.io/bpi-m64/content/en/sourcecodeongithub.html

documents[edit]

  • schematic diagram:
google driver : https://drive.google.com/file/d/0B4PAo2nW2KfnUE5tMGItNkZjMzg/view?usp=sharing
baidu cloud : http://pan.baidu.com/s/1kVRpcYb
BPI-M64 BT Lab test :https://bananapi.gitbooks.io/bpi-m64/content/en/bpi-m64bt40labtest.html
BPI-M64 WIFI Lab test :https://bananapi.gitbooks.io/bpi-m64/content/en/bpi-m264wifilabtest.html
BPI-M64 Validation test : https://bananapi.gitbooks.io/bpi-m64/content/en/bpi-m64validationtestreport.html
CE FCC RoHS : http://forum.banana-pi.org/t/bpi-m64-ce-fcc-rohs-certification/2747

Image Release[edit]

Android[edit]

  • 2018-9-17 update android 6.0
Features Map :http://wiki.banana-pi.org/M64_Image_Map#Android_6.0
HDMI Version Image Links:
Google Drive : https://drive.google.com/open?id=19ExJ9Ztfy3UgK9NZ4SiaVZAMozgyCJl7
Baidu Drive : https://pan.baidu.com/s/1s_orgiEI7JU_hUgjnpd25w
LCD7 Version Image Links:
Google Drive : https://drive.google.com/open?id=1gWD_IT0P4NvdeqtK5I4MnJjwzsP7SXJc
Baidu Drive : https://pan.baidu.com/s/1K0HYPiQe6nGvAS5bAAFHow
Forum pthread : http://forum.banana-pi.org/t/banana-pi-bpi-m64-new-images-release-2018-09-18/6796
  • 2018-08-17 update,android 8.1
This release is for banana pi M64 board which is based on Allwinner A64, We have two images release,Android 8.1 is based on kernel 4.9
BPI-M64 Android 8.1 Features Map:http://wiki.banana-pi.org/M64_Image_Map#Android_8.1
HDMI-LCD-Version:
Google Drive : https://drive.google.com/open?id=11XjvTAbPw57R6H5kL27GVXry4xu18dVs
Baidu Drive : https://pan.baidu.com/s/1PQgJCUo6cY3wWxJ7rZrk-A
Forum pthread:http://forum.banana-pi.org/t/bananapi-bpi-m64-a64-new-image-android-8-1-ubuntu-release-2018-08-17/6531
  • 2018-05-20 update ,android 7.0
hdmi-Version and Lcd 5.0 version
baidu cloud : https://pan.baidu.com/s/1O3PsI73WmFFvhxMmzEscIQ
  • 2017-05-11 update ,android 6.0
HDMI-Version
Google Drive:https://drive.google.com/open?id=0B_YnvHgh2rwjcF9USm1MWWtxSXc
Baidu Cloud:https://pan.baidu.com/s/1bHWhlW
MD5: f85281213b9c5b88008a487dd1b6963c
LCD-Version
Google Drive:https://drive.google.com/open?id=0B_YnvHgh2rwjdHpFbHJMQWtsbFk
Baidu Cloud:https://pan.baidu.com/s/1kVJVPGV
MD5:be27e4eced96d3de81d46e512fd978eb
forum pthread:http://forum.banana-pi.org/t/bpi-m64-new-image-android-6-0-version-v3/3240/4

Win 10 IoT[edit]

  • 2017-1-13 updae Win10 IoT Core beta0.2
baidu cloud :http://pan.baidu.com/s/1c2ce100
  • Win10 IoT Core 10586 beta0.1
download link : https://drive.google.com/open?id=0B_YnvHgh2rwjODJOSS1TdkRvcEk
baidu link : http://pan.baidu.com/s/1dEQyGgD
MD5: 1c09118cd45bf0c3b61d1846710a3649

Ubuntu[edit]

kernel 4.4[edit]

  • 2018-4-17 update Ubuntu 16.04.4 with linux kernel 4.4.89
image name:2018-04-17-ubuntu-16.04-mate-desktop-demo3-k4.4.89-vdpau-3-mic-docker-bpi-r18-avs-aarch64-sd-emmc.img.zip
Google Drive: https://drive.google.com/open?id=1dlfo9LGNcrc-_cpKd1uJnrNx0PdonBnK
MD5: 4b7e163d260e58a39ba8905e7ed39943
Forum pthread:http://forum.banana-pi.org/t/bpi-r18-avs-new-image-ubuntu-16-04-4-with-linux-kernel-4-4-89-2018-4-17/5435

Kernel 3.10.105[edit]

  • 2018-09-18 This release is for banana pi M64 board which is based on Allwinner A64, We release three Images, Ubuntu 16.04 Desktop & Android is based on kernel 3.10.
Features Map :http://wiki.banana-pi.org/M64_Image_Map#Ubuntu_Desktop_16.04
Google Drive :
Baidu Drive : https://pan.baidu.com/s/1wANJ4SwfNwKtBcd02WcbWA
forum pthread : http://forum.banana-pi.org/t/banana-pi-bpi-m64-new-images-release-2018-09-18/6796
  • 2018-08-17 update Ubuntu 16.04 Server kernel 3.10.105
Google Drive : https://drive.google.com/open?id=1K-B4u8jGcv17s3I9v-Pr0xv5u5txvfok
Baidu Drive : https://pan.baidu.com/s/1HcrR8NsL9_1RwbZNa7uwmg
Forum pthread:http://forum.banana-pi.org/t/bananapi-bpi-m64-a64-new-image-android-8-1-ubuntu-release-2018-08-17/6531
  • 2017-08-14 update based on ubuntu 16.04.3 LTS Mate Desktop (64-bit),support BPI-M64 kernel 3.10.105
Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjN1h1U0xDYUxET00/view?usp=sharing
baidu cloud: http://pan.baidu.com/s/1pLkbdTT
MD5: ae34baa840874276858d936a7ca85c4f
Forum pthread:http://forum.banana-pi.org/t/bpi-m64-new-image-2017-08-14-ubuntu-16-04-mate-desktop-beta-aarch64-bpi-m64-sd-emmc/3695

Debian[edit]

  • 2017-08-13 debian 8.9 jessie Mate Desktop (64-bit),support BPI-M64 kernel 3.10.105
Google Drive:https://drive.google.com/file/d/0B_YnvHgh2rwjazlNRTRHei1NbmM/view?usp=sharing
baidu cloud:http://pan.baidu.com/s/1eSeTQeA
MD5: 9ddf067457ebaf193de63c5c7141446a
Forum pthread:http://forum.banana-pi.org/t/bpi-m64-new-image-2017-08-13-debian-8-jessie-mate-desktop-preview-aarch64-bpi-m64-sd-emmc/3694


Armbian[edit]

  • Armbian Xenial and Armbian Jessie
Image lownload link :https://www.armbian.com/bananapi-m64/
  • Armbian OS aarch64
download link:http://geektillithertz.com/wordpress/index.php/2017/01/04/armbian-os-banana-pi-m64/
Forum pthread:http://forum.banana-pi.org/t/bpi-m64-new-image-armbian-os-aarch64-for-bpi-m64-download/2724

FreeBSD[edit]

FreeBSD on Allwinner (sunxi) systems for banana pi

Banana pi as the official partner of Allwinner , must banana pi product use Allwinner chip design . such as A20/A31S/H3/H2+/A64/A83T , and FreeBSD have support many Allwinner . so easy to use on banana pi board.

  • Allwinner A20 (sun7i), a dual-core Cortex-A7 BPI-M1/BPI-M1+/BPI-R1
  • Allwinner A31 and A31s (sun6i), a quad-core Cortex-A7 BPI-M2
  • Allwinner A64 (sun50i), a quad-core Cortex-A53 BPI-M64
  • Allwinner A83T (sun8i), an octa-core Cortex-A7 BPI-M3
  • Allwinner H3 (sun8i), a quad-core Cortex-A7 BPI-M2+/BPI-M2+ EDU/

https://wiki.freebsd.org/FreeBSD/arm/Allwinner


Others[edit]

FAQ[edit]

  • 1,How-to use ubuntu system to support lcd7**?
1."vi /media/pi/BPI-BOOT/bananapi/bpi-m64/linux/lcd7/uEnv.txt"
2.If you use HC070TG lcd7 screen, change "touch=gt9xxnew_ts" But if you use S070WV20 lcd7 screen, you don't need to change.
3. "bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m64/u-boot-with-dtb-bpi-m64-lcd7-8k.img.gz"
4.reboot
BPI-M64 LCD7.png
For more operation details please see Wiki: http://wiki.banana-pi.org/Getting_Started_with_M64