Update support for sun5i (#846)

* Initial support for A13
* Update u-boot.bin
* Update nand-sata-install
This commit is contained in:
Stefan Mavrodiev 2017-12-14 12:27:50 +02:00 committed by Mikhail
parent 8fffd69a36
commit f473e1a9fb
7 changed files with 77 additions and 8 deletions

View File

@ -54,7 +54,7 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_FHANDLE is not set
CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
@ -2048,6 +2048,7 @@ CONFIG_FS_MBCACHE=y
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y

View File

@ -0,0 +1,5 @@
[system]
start_os_name = linux
timeout = -1
display_device= 0
display_mode = 0

View File

@ -0,0 +1,8 @@
[segment]
img_name = c:\linux\u-boot.bin
img_size = 0x80000
img_base = 0x4A000000
[script_info]
script_base = 0x43000000
script_size = 0x10000

View File

@ -25,7 +25,9 @@ backtitle="Armbian for $BOARD_NAME install script, http://www.armbian.com"
title="NAND, eMMC, SATA and USB Armbian installer v${VERSION}"
# exception
if grep -q 'sun4i' /proc/cpuinfo; then DEVICE_TYPE="a10"; else DEVICE_TYPE="a20"; fi
if grep -q 'sun4i' /proc/cpuinfo; then DEVICE_TYPE="a10";
elif grep -q 'sun5i' /proc/cpuinfo; then DEVICE_TYPE="a13";
else DEVICE_TYPE="a20"; fi
BOOTLOADER="${CWD}/${DEVICE_TYPE}/bootloader"
#recognize_root
@ -148,12 +150,21 @@ create_armbian()
/boot/zImage ${TempDir}/bootfs/uImage >/dev/null 2>&1
cp /boot/script.bin ${TempDir}/bootfs/
# Note: Not using UUID based boot for NAND
cat <<-EOF > ${TempDir}/bootfs/uEnv.txt
console=ttyS0,115200
root=$2 rootwait
extraargs="console=tty1 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:0 consoleblank=0 loglevel=1"
EOF
if [[ $DEVICE_TYPE != a13 ]]; then
# Note: Not using UUID based boot for NAND
cat <<-EOF > ${TempDir}/bootfs/uEnv.txt
console=ttyS0,115200
root=$2 rootwait
extraargs="console=tty1 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:0 consoleblank=0 loglevel=1"
EOF
else
# Note: Not using UUID based boot for NAND
cat <<-EOF > ${TempDir}/bootfs/uEnv.txt
console=ttyS0,115200
root=$2 rootwait
extraargs="consoleblank=0 loglevel=1"
EOF
fi
sync

View File

@ -0,0 +1,44 @@
diff --git a/arch/arm/plat-sunxi/include/plat/i2c.h b/arch/arm/plat-sunxi/include/plat/i2c.h
index d75347b..d57a2c7 100644
--- a/arch/arm/plat-sunxi/include/plat/i2c.h
+++ b/arch/arm/plat-sunxi/include/plat/i2c.h
@@ -193,7 +193,7 @@ Foscl is clock SCL;standard mode:100KHz or fast mode:400KHz
#define TWI4_BASE_ADDR_START (SW_PA_TWI4_IO_BASE )
#define TWI4_BASE_ADDR_END (TWI4_BASE_ADDR_START + AW_TWI_ADDR_SIZE)
-#define I2C0_TRANSFER_SPEED (400000)
+#define I2C0_TRANSFER_SPEED (100000)
#define I2C1_TRANSFER_SPEED (100000)
#define I2C2_TRANSFER_SPEED (100000)
#define I2C3_TRANSFER_SPEED (100000)
diff --git a/drivers/i2c/busses/i2c-sunxi.c b/drivers/i2c/busses/i2c-sunxi.c
index 85345e0..05281ca 100644
--- a/drivers/i2c/busses/i2c-sunxi.c
+++ b/drivers/i2c/busses/i2c-sunxi.c
@@ -40,7 +40,7 @@
#include <plat/system.h>
-#define SUNXI_I2C_DEBUG
+// #define SUNXI_I2C_DEBUG
#ifdef SUNXI_I2C_DEBUG
#define i2c_dbg(x...) printk(x)
@@ -614,7 +614,7 @@ static int i2c_sunxi_core_process(struct sunxi_i2c *i2c)
#endif
if(i2c->msg == NULL) {
- printk("i2c->msg is NULL, err_code = 0xfe\n");
+ i2c_dbg("i2c->msg is NULL, err_code = 0xfe\n");
err_code = 0xfe;
goto msg_null;
}
@@ -892,7 +892,7 @@ static int i2c_sunxi_do_xfer(struct sunxi_i2c *i2c, struct i2c_msg *msgs, int nu
ret = -ETIME;
}
else if (ret != num){
- printk("incomplete xfer (0x%x)\n", ret);
+ i2c_dbg("incomplete xfer (0x%x)\n", ret);
ret = -ECOMM;
//dev_dbg(i2c->adap.dev, "incomplete xfer (%d)\n", ret);
}