diff --git a/config/kernel/linux-sun5i-default.config b/config/kernel/linux-sun5i-default.config index f984e727b2..f6e3faefcf 100644 --- a/config/kernel/linux-sun5i-default.config +++ b/config/kernel/linux-sun5i-default.config @@ -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 diff --git a/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/boot.axf b/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/boot.axf new file mode 100644 index 0000000000..e28f10d117 Binary files /dev/null and b/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/boot.axf differ diff --git a/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/boot.ini b/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/boot.ini new file mode 100644 index 0000000000..ca8afeb1c6 --- /dev/null +++ b/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/boot.ini @@ -0,0 +1,5 @@ +[system] +start_os_name = linux +timeout = -1 +display_device= 0 +display_mode = 0 diff --git a/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/linux/linux.ini b/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/linux/linux.ini new file mode 100644 index 0000000000..39706b0ee9 --- /dev/null +++ b/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/linux/linux.ini @@ -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 diff --git a/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/linux/u-boot.bin b/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/linux/u-boot.bin new file mode 100644 index 0000000000..df484bfd81 Binary files /dev/null and b/packages/bsp/common/usr/lib/nand-sata-install/a13/bootloader/linux/u-boot.bin differ diff --git a/packages/bsp/common/usr/sbin/nand-sata-install b/packages/bsp/common/usr/sbin/nand-sata-install index 4a9620157a..d867d703dc 100755 --- a/packages/bsp/common/usr/sbin/nand-sata-install +++ b/packages/bsp/common/usr/sbin/nand-sata-install @@ -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 diff --git a/patch/kernel/sun5i-default/disable_i2c_debug.patch b/patch/kernel/sun5i-default/disable_i2c_debug.patch new file mode 100644 index 0000000000..ed7cf3de2b --- /dev/null +++ b/patch/kernel/sun5i-default/disable_i2c_debug.patch @@ -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 + + +-#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); + }