瀏覽代碼

more fixes and drivers for cubox-i

Waldemar Brodkorb 10 年之前
父節點
當前提交
c8e6e0a8c7

+ 4 - 12
scripts/install-cubox.sh

@@ -80,14 +80,16 @@ if [ $(mount | grep $1| wc -l) -ne 0 ];then
 fi
 
 maxsize=$(env LC_ALL=C parted $1 -s unit s print |awk '/^Disk/ { print $3 }'|sed -e 's/s//')
+maxsize=$(($maxsize-1))
 rootsize=$(($maxsize-32768))
+rootsizeend=$(($rootsize+1))
 
 echo "Install bootloader for cubox-i"
 parted -s $1 mklabel msdos
 dd if=${3}/SPL of=${1} bs=1K seek=1
 dd if=${3}/u-boot.img of=${1} bs=1K seek=42
-parted -s $1 unit s mkpart primary ext2 -- 2048 $rootsize
-parted -s $1 unit s mkpart primary fat32 $rootsize $maxsize
+parted -a optimal -s $1 unit s mkpart primary ext2 -- 2048 $rootsize
+parted -a optimal -s $1 unit s mkpart primary fat32 $rootsizeend $maxsize
 sfdisk --change-id $1 2 88
 
 echo "Creating filesystem"
@@ -97,16 +99,6 @@ sync
 tmp=$(mktemp -d)
 mount -t ext4 ${1}1 $tmp
 
-#echo "rootdev=/dev/mmcblk0p1" > $tmp/uEnv.txt
-#echo "kernel=/boot/kernel" >> $tmp/uEnv.txt
-#echo "dtb=/boot/imx6q-cubox-i.dtb" >> $tmp/uEnv.txt
-#echo 'kernelargs=rootwait console=ttymxc0 console=tty0 video=mxcfb0:dev=hdmi consoleblank=0' >> $tmp/uEnv.txt
-#echo 'sdargs=setenv bootargs root=${rootdev} ${kernelargs}' >> $tmp/uEnv.txt
-#echo 'sdloadk=load mmc 0:1 0x10800000 ${kernel}' >> $tmp/uEnv.txt
-#echo 'sdloadd=load mmc 0:1 0x18000000 ${dtb}' >> $tmp/uEnv.txt
-#echo 'sdboot=bootz 0x10800000 - 0x18000000' >> $tmp/uEnv.txt
-#echo 'bootit=echo Booting OpenADK' > $tmp/uEnv.txt
-
 echo "Extracting install archive"
 tar -C $tmp -xzpf $2 
 echo "Fixing permissions"

+ 1 - 1
target/arm/Makefile

@@ -66,7 +66,7 @@ ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
 endif
 ifeq ($(ADK_TARGET_SYSTEM_CUBOX_I),y)
 	@echo "Use following command to install it on SD card:"
-	@echo "sudo ./scripts/install-cubox.sh /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+	@echo "sudo ./scripts/install-cubox.sh /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL) $(FW_DIR)"
 
 endif
 ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y)

+ 3 - 0
target/arm/kernel/cubox-i2ultra

@@ -4,8 +4,10 @@ CONFIG_SMP=y
 CONFIG_ARCH_MULTI_V7=y
 CONFIG_ARCH_MXC=y
 CONFIG_ARCH_MX6=y
+CONFIG_GPIO_PCA953X=y
 CONFIG_SOC_IMX6Q=y
 CONFIG_SOC_IMX6SL=y
+CONFIG_MXC_DEBUG_BOARD=y
 CONFIG_KUSER_HELPERS=y
 CONFIG_AEABI=y
 CONFIG_VFP=y
@@ -16,3 +18,4 @@ CONFIG_OF=y
 CONFIG_PCI_IMX6=y
 CONFIG_SERIAL_IMX=y
 CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SOC_BUS=y

+ 3 - 0
target/linux/Config.in

@@ -23,3 +23,6 @@ source target/linux/config/Config.in.spi
 source target/linux/config/Config.in.kvm
 source target/linux/config/Config.in.debug
 source target/linux/config/Config.in.virtio
+source target/linux/config/Config.in.regulator
+source target/linux/config/Config.in.gpio
+source target/linux/config/Config.in.dma

+ 44 - 1
target/linux/config/Config.in.block

@@ -21,11 +21,22 @@ config ADK_KERNEL_IOSCHED_CFQ
 
 config ADK_KERNEL_SCSI
 	boolean
-	default y if ADK_TARGET_SYSTEM_IBM_X40
 
 config ADK_KERNEL_SCSI_DMA
 	boolean
 
+config ADK_KERNEL_SCSI_MULTI_LUN
+	boolean
+
+config ADK_KERNEL_SCSI_CONSTANTS
+	boolean
+
+config ADK_KERNEL_SCSI_LOGGING
+	boolean
+	
+config ADK_KERNEL_SCSI_SCAN_ASYNC
+	boolean
+
 config ADK_KERNEL_BLK_DEV_SD
 	boolean
 
@@ -54,6 +65,12 @@ config ADK_KERNEL_ATA_SFF
 config ADK_KERNEL_ATA_BMDMA
 	boolean
 
+config ADK_KERNEL_SATA_AHCI_PLATFORM
+	boolean
+
+config ADK_KERNEL_SATA_PMP
+	boolean
+
 config ADK_KERNEL_CONNECTOR
 	boolean
 
@@ -63,6 +80,12 @@ config ADK_KERNEL_MMC
 config ADK_KERNEL_MMC_BLOCK
 	boolean
 
+config ADK_KERNEL_MMC_BLOCK_BOUNCE
+	boolean
+
+config ADK_KERNEL_MMC_UNSAFE_RESUME
+	boolean
+
 config ADK_KERNEL_MMC_SDHCI
 	boolean
 
@@ -124,6 +147,20 @@ config ADK_KERNEL_PATA_PLATFORM
 config ADK_KERNEL_PATA_PCMCIA
 	boolean
 
+config ADK_KERNEL_PATA_IMX
+	boolean
+	select ADK_KERNEL_SCSI
+	select ADK_KERNEL_ATA
+	select ADK_KERNEL_ATA_SFF
+	select ADK_KERNEL_ATA_BMDMA
+	select ADK_KERNEL_BLK_DEV
+	select ADK_KERNEL_BLK_DEV_SD
+	select ADK_KERNEL_ATA
+	select ADK_KERNEL_SATA_PMP
+	select ADK_KERNEL_SATA_AHCI_PLATFORM
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
+	default n
+
 config ADK_KERNEL_PATA_PXA
 	boolean
 	select ADK_KERNEL_SCSI
@@ -163,8 +200,14 @@ config ADK_KERNEL_MMC_SDHCI_BCM2708
 config ADK_KERNEL_MMC_SDHCI_ESDHC_IMX
 	boolean
 	select ADK_KERNEL_SCSI
+	select ADK_KERNEL_SCSI_DMA
+	select ADK_KERNEL_SCSI_MULTI_LUN
+	select ADK_KERNEL_SCSI_CONSTANTS
+	select ADK_KERNEL_SCSI_LOGGING
+	select ADK_KERNEL_SCSI_SCAN_ASYNC
 	select ADK_KERNEL_MMC
 	select ADK_KERNEL_MMC_BLOCK
+	select ADK_KERNEL_MMC_BLOCK_BOUNCE
 	select ADK_KERNEL_BLK_DEV
 	select ADK_KERNEL_BLK_DEV_SD
 	select ADK_KERNEL_MMC_SDHCI

+ 0 - 8
target/linux/config/Config.in.cpu

@@ -30,14 +30,6 @@ config ADK_KERNEL_CPU_FREQ
 	boolean
 	default n
 
-config ADK_KERNEL_REGULATOR
-	boolean
-	default n
-
-config ADK_KERNEL_REGULATOR_ANATOP
-	boolean
-	default n
-
 config ADK_KERNEL_CPU_FREQ_GOV_PERFORMANCE
 	boolean
 	default n

+ 8 - 0
target/linux/config/Config.in.dma

@@ -0,0 +1,8 @@
+config ADK_KERNEL_DMADEVICES
+	boolean
+
+config ADK_KERNEL_IMX_SDMA
+	boolean
+	select ADK_KERNEL_DMADEVICES
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
+	default n

+ 15 - 0
target/linux/config/Config.in.gpio

@@ -0,0 +1,15 @@
+config ADK_KERNEL_GPIOLIB
+	boolean
+
+config ADK_KERNEL_GPIO_SYSFS
+	boolean
+
+config ADK_KERNEL_GPIO_GENERIC
+	boolean
+
+config ADK_KERNEL_GPIO_MXC
+	select ADK_KERNEL_GPIOLIB
+	select ADK_KERNEL_GPIO_SYSFS
+	select ADK_KERNEL_GPIO_GENERIC
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
+	boolean

+ 14 - 4
target/linux/config/Config.in.misc

@@ -1,11 +1,21 @@
-config ADK_KERNEL_DMADEVICES
+# for DMA driver required
+config ADK_KERNEL_FW_LOADER
 	boolean
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
+	default n
 
-config ADK_KPACKAGE_KMOD_DMA_BCM2708
-	select ADK_KERNEL_DMADEVICES
+config ADK_KERNEL_FIRMWARE_IN_KERNEL
+	boolean 
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
+	default n
+
+config ADK_KERNEL_FW_LOADER_USER_HELPER
 	boolean
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
+	default n
 
-config ADK_KERNEL_REGMAP
+config ADK_KPACKAGE_KMOD_DMA_BCM2708
+	select ADK_KERNEL_DMADEVICES
 	boolean
 
 config ADK_KPACKAGE_KMOD_REGMAP_MMIO

+ 5 - 3
target/linux/config/Config.in.netfilter.ip4

@@ -37,10 +37,11 @@ config ADK_KPACKAGE_KMOD_IP_NF_FILTER
 config ADK_KPACKAGE_KMOD_FULL_NAT
 	tristate "Meta package for Full NAT"
 	select ADK_KPACKAGE_KMOD_NF_NAT if ADK_KERNEL_VERSION_3_4_84
-	select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_10_34
+	select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_10_36
 	select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_11_10
 	select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_12_14
 	select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_13_7
+	select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_14_1
 
 config ADK_KPACKAGE_KMOD_NF_NAT
 	tristate 'Full NAT'
@@ -54,10 +55,11 @@ config ADK_KPACKAGE_KMOD_NF_NAT
 config ADK_KPACKAGE_KMOD_NF_NAT_IPV4
 	tristate 'Full NAT'
 	depends on ADK_KPACKAGE_KMOD_IP_NF_IPTABLES
-	depends on ADK_KERNEL_VERSION_3_10_34 \
+	depends on ADK_KERNEL_VERSION_3_10_36 \
 		|| ADK_KERNEL_VERSION_3_11_10 \
 		|| ADK_KERNEL_VERSION_3_12_14 \
-		|| ADK_KERNEL_VERSION_3_13_7
+		|| ADK_KERNEL_VERSION_3_13_7 \
+		|| ADK_KERNEL_VERSION_3_14_1
 	help
 	  The Full NAT option allows masquerading, port forwarding and other
 	  forms of full Network Address Port Translation.  It is controlled by

+ 69 - 0
target/linux/config/Config.in.regulator

@@ -0,0 +1,69 @@
+config ADK_KERNEL_REGULATOR
+	boolean
+	default n
+
+config ADK_KERNEL_REGULATOR_FIXED_VOLTAGE
+	boolean
+	default n
+
+config ADK_KERNEL_REGULATOR_ANATOP
+	boolean
+	default n
+
+config ADK_KERNEL_REGULATOR_MC13XXX_CORE
+	boolean
+	default n
+
+config ADK_KERNEL_REGULATOR_DA9052
+	boolean
+	default n
+
+config ADK_KERNEL_REGULATOR_MC13783
+	boolean
+	default n
+
+config ADK_KERNEL_REGULATOR_MC13892
+	boolean
+	default n
+	
+config ADK_KERNEL_REGULATOR_PFUZE100
+	boolean
+	default n
+
+config ADK_KERNEL_REGMAP
+	boolean
+	default n
+
+config ADK_KERNEL_REGMAP_I2C
+	boolean
+	default n
+
+config ADK_KERNEL_REGMAP_SPI
+	boolean
+	default n
+
+config ADK_KERNEL_REGMAP_MMIO
+	boolean
+	default n
+
+config ADK_KERNEL_REGMAP_IRQ
+	boolean
+	default n
+
+config ADK_TARGET_CUBOX_REGULATOR
+	boolean
+	select ADK_KERNEL_REGMAP
+	select ADK_KERNEL_REGMAP_I2C
+	select ADK_KERNEL_REGMAP_SPI
+	select ADK_KERNEL_REGMAP_MMIO
+	select ADK_KERNEL_REGMAP_IRQ
+	select ADK_KERNEL_REGULATOR
+	select ADK_KERNEL_REGULATOR_FIXED_VOLTAGE
+	select ADK_KERNEL_REGULATOR_ANATOP
+	select ADK_KERNEL_REGULATOR_MC13XXX_CORE
+	select ADK_KERNEL_REGULATOR_DA9052
+	select ADK_KERNEL_REGULATOR_MC13783
+	select ADK_KERNEL_REGULATOR_MC13892
+	select ADK_KERNEL_REGULATOR_PFUZE100
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
+	default n

+ 11 - 0
target/linux/config/Config.in.spi

@@ -4,6 +4,9 @@ config ADK_KERNEL_SPI
 config ADK_KERNEL_SPI_MASTER
 	boolean
 
+config ADK_KERNEL_SPI_BITBANG
+	boolean
+
 config ADK_KERNEL_SPI_XILINX
 	boolean
 
@@ -22,3 +25,11 @@ config ADK_KERNEL_SPI_RB4XX_CPLD
 config ADK_KERNEL_SPI_PXA2XX
 	select ADK_KERNEL_SPI
 	boolean
+
+config ADK_KERNEL_SPI_IMX
+	boolean
+	select ADK_KERNEL_SPI
+	select ADK_KERNEL_SPI_MASTER
+	select ADK_KERNEL_SPI_BITBANG
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
+	default n