diff options
author | madmonkey <madfkingmonkey@gmail.com> | 2017-11-10 00:10:31 +0300 |
---|---|---|
committer | madmonkey <madfkingmonkey@gmail.com> | 2017-11-10 00:59:57 +0300 |
commit | 643e82237b2fac78120435778bd45d80eb029d1e (patch) | |
tree | 87ca899cc03a025498aa8e42a8d68748e4e06b4b | |
parent | 5533e8263e60f7e50cf3a49e58d0dc58c458e09f (diff) |
force usb-host mode
-rw-r--r-- | arch/arm/configs/sun_nontendocm_defconfig | 372 | ||||
-rwxr-xr-x | build_all.sh | 40 | ||||
-rw-r--r-- | drivers/usb/sunxi_usb/hcd/hcd0/sunxi_hcd0.c | 2 | ||||
-rw-r--r-- | drivers/usb/sunxi_usb/manager/usb_manager.c | 8 |
4 files changed, 421 insertions, 1 deletions
diff --git a/arch/arm/configs/sun_nontendocm_defconfig b/arch/arm/configs/sun_nontendocm_defconfig new file mode 100644 index 00000000..47f177bc --- /dev/null +++ b/arch/arm/configs/sun_nontendocm_defconfig @@ -0,0 +1,372 @@ +# CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_EXPERIMENTAL=y +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_KERNEL_XZ=y +CONFIG_DEFAULT_HOSTNAME="madmonkey" +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +# CONFIG_RD_GZIP is not set +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL_SYSCALL=y +# CONFIG_BUG is not set +# CONFIG_ELF_CORE is not set +CONFIG_EMBEDDED=y +# CONFIG_COMPAT_BRK is not set +CONFIG_SLAB=y +CONFIG_PROFILING=y +CONFIG_OPROFILE=y +CONFIG_JUMP_LABEL=y +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_LDM_PARTITION=y +CONFIG_EFI_PARTITION=y +CONFIG_ARCH_SUNXI=y +CONFIG_ARCH_SUN8IW5=y +# CONFIG_SW_POWERNOW is not set +CONFIG_EVB_PLATFORM=y +CONFIG_ARM_THUMBEE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_458693=y +CONFIG_ARM_ERRATA_460075=y +CONFIG_ARM_ERRATA_742230=y +CONFIG_ARM_ERRATA_742231=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_743622=y +CONFIG_ARM_ERRATA_751472=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_SMP=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_PREEMPT=y +CONFIG_AEABI=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART=y +CONFIG_CMDLINE="earlyprintk=ttyS0,115200 loglevel=8 console=ttyS0,115200 init=/init " +CONFIG_KEXEC=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_ARM_SUNXI_CPUFREQ=y +# CONFIG_ARM_SUNXI_CPUIDLE is not set +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_BINFMT_MISC=y +# CONFIG_SCENELOCK is not set +CONFIG_PM_AUTOSLEEP=y +CONFIG_PM_RUNTIME=y +CONFIG_APM_EMULATION=y +CONFIG_NET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_UDP_DIAG=y +# CONFIG_IPV6 is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_WIRELESS is not set +CONFIG_SUNXI_ARISC=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_FW_LOADER is not set +CONFIG_CMA=y +CONFIG_SYNC=y +CONFIG_SW_SYNC=y +CONFIG_SUNXI_MBUS=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_CRYPTOLOOP=y +CONFIG_BLK_DEV_NBD=y +CONFIG_BLK_SUNXI_NAND=y +CONFIG_SUNXI_BROM_READ=y +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_CHR_DEV_SG=y +CONFIG_SCSI_MULTI_LUN=y +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_SCAN_ASYNC=y +# CONFIG_SCSI_LOWLEVEL is not set +CONFIG_ATA=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_CRYPT=y +CONFIG_DM_SNAPSHOT=y +CONFIG_DM_MIRROR=y +CONFIG_NETDEVICES=y +CONFIG_TUN=y +# CONFIG_ETHERNET is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPPOE=y +CONFIG_PPP_ASYNC=y +CONFIG_USB_USBNET=y +# CONFIG_USB_NET_AX8817X is not set +# CONFIG_USB_NET_QF9700 is not set +CONFIG_USB_NET_CDC_EEM=y +# CONFIG_USB_NET_NET1080 is not set +# CONFIG_USB_BELKIN is not set +# CONFIG_USB_ARMLINUX is not set +# CONFIG_USB_NET_ZAURUS is not set +# CONFIG_WLAN is not set +CONFIG_INPUT_POLLDEV=y +# CONFIG_INPUT_MOUSEDEV is not set +CONFIG_INPUT_EVDEV=y +CONFIG_KEYBOARD_SUNXI=m +# CONFIG_INPUT_MOUSE is not set +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_SERIO_SERPORT is not set +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +CONFIG_LEGACY_PTY_COUNT=0 +# CONFIG_HW_RANDOM is not set +# CONFIG_SUNXI_CMATESET is not set +# CONFIG_SUNXI_ARISC_TEST is not set +CONFIG_SUNXI_MODULE=y +# CONFIG_SUNXI_TIMER_TEST is not set +# CONFIG_SUNXI_DMA_TEST is not set +CONFIG_I2C=y +CONFIG_I2C_SUNXI=y +CONFIG_SPI=y +CONFIG_SPI_SUNXI=y +# CONFIG_SUNXI_PINCTRL_TEST is not set +CONFIG_GPIO_SYSFS=y +CONFIG_AW_AXP22=y +# CONFIG_SENSORS_KIONIX is not set +# CONFIG_SENSORS_MMA7660 is not set +# CONFIG_SENSORS_MMA865x is not set +# CONFIG_SENSORS_MMA8452 is not set +# CONFIG_SENSORS_AFA750 is not set +# CONFIG_SENSORS_LIS3DH_ACC is not set +# CONFIG_SENSORS_LIS3DE_ACC is not set +CONFIG_THERMAL=y +CONFIG_CPU_BUDGET_THERMAL=y +CONFIG_SUNXI_THERMAL=y +CONFIG_SUNXI_BUDGET_COOLING=y +CONFIG_PWM=y +CONFIG_PWM_SUNXI=y +CONFIG_MEDIA_SUPPORT=y +# CONFIG_RC_CORE is not set +CONFIG_ION=y +CONFIG_ION_SUNXI=y +CONFIG_VIDEO_OUTPUT_CONTROL=y +CONFIG_FB=y +CONFIG_FIRMWARE_EDID=y +CONFIG_FB_FOREIGN_ENDIAN=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_SUNXI=y +CONFIG_FB_CONSOLE_SUNXI=y +CONFIG_LCD_SUNXI=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FONTS=y +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_SOUND=y +CONFIG_SND=y +# CONFIG_SND_DRIVERS is not set +# CONFIG_SND_ARM is not set +# CONFIG_SND_SPI is not set +CONFIG_SND_USB_AUDIO=y +CONFIG_SND_SOC=y +CONFIG_SND_SUNXI_SOC_I2S0_INTERFACE=y +CONFIG_SND_SUNXI_SOC_AUDIOCODEC=y +CONFIG_SND_SUN8IW5_SNDCODEC=y +CONFIG_SND_SUNXI_SWITCH=y +CONFIG_SND_SUNXI_SOC_I2S1_INTERFACE=y +CONFIG_HID_LOGITECH=y +CONFIG_HID_LOGITECH_DJ=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_SONY=y +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_DEVICE_CLASS is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCD0=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_SW_USB_3G=y +CONFIG_USB_3G_SLEEP_BY_USB_WAKEUP_BY_USB=y +CONFIG_USB_ACM=y +CONFIG_USB_WDM=y +CONFIG_USB_STORAGE=y +CONFIG_USB_STORAGE_REALTEK=y +CONFIG_USB_STORAGE_DATAFAB=y +CONFIG_USB_STORAGE_FREECOM=y +CONFIG_USB_STORAGE_ISD200=y +CONFIG_USB_STORAGE_USBAT=y +CONFIG_USB_STORAGE_SDDR09=y +CONFIG_USB_STORAGE_SDDR55=y +CONFIG_USB_STORAGE_JUMPSHOT=y +CONFIG_USB_STORAGE_ALAUDA=y +CONFIG_USB_STORAGE_ONETOUCH=y +CONFIG_USB_STORAGE_KARMA=y +CONFIG_USB_STORAGE_CYPRESS_ATACB=y +CONFIG_USB_STORAGE_ENE_UB6250=y +CONFIG_USB_TRANCEVIBRATOR=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_VBUS_DRAW=500 +CONFIG_USB_G_ANDROID=y +CONFIG_USB_G_ANDROID_CLOVER=y +CONFIG_USB_G_ANDROID_FS=y +CONFIG_USB_G_ANDROID_AUDIO_SOURCE=y +CONFIG_USB_G_ANDROID_MASS_STORAGE=y +CONFIG_USB_G_ANDROID_MASS_ACM=y +CONFIG_USB_G_ANDROID_ADB=y +CONFIG_USB_G_ANDROID_MTP=y +CONFIG_USB_G_ANDROID_ACCESSORY=y +CONFIG_USB_G_ANDROID_RNDIS=y +CONFIG_USB_SUNXI_USB=y +CONFIG_USB_SUNXI_USB_MANAGER=y +CONFIG_USB_SUNXI_USB0_OTG=y +CONFIG_MMC=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_SUNXI_LEDS=y +CONFIG_LEDS_SUNXI=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=y +CONFIG_LEDS_TRIGGER_GPIO=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_SWITCH=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_SUNXI=y +CONFIG_DMADEVICES=y +CONFIG_SUNXI_DMA=y +CONFIG_COMMON_CLK_ENABLE_SYNCBOOT=y +CONFIG_COMMON_CLK_ENABLE_SYNCBOOT_EARLY=y +CONFIG_SUNXI_CLK_DEFAULT_INIT=y +CONFIG_SUNXI_CLK_AHB_FROM_PLL6=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_PM_DEVFREQ=y +CONFIG_DEVFREQ_GOV_DSM=y +CONFIG_DEVFREQ_DRAM_FREQ=y +CONFIG_DEVFREQ_DRAM_FREQ_LOW_POWER_SW=y +CONFIG_DEVFREQ_DRAM_FREQ_BUSFREQ=y +CONFIG_DEVFREQ_DRAM_FREQ_VDDSYS=y +CONFIG_DEVFREQ_DRAM_FREQ_IN_VSYNC=y +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_XATTR is not set +CONFIG_FANOTIFY=y +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=y +CONFIG_OVERLAYFS_FS=y +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_IOCHARSET="utf8" +CONFIG_NTFS_FS=y +CONFIG_NTFS_RW=y +CONFIG_TMPFS=y +CONFIG_CONFIGFS_FS=y +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y +CONFIG_SQUASHFS_EMBEDDED=y +CONFIG_CIFS=y +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_NLS_DEFAULT="UTF-8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=y +CONFIG_NLS_CODEPAGE_775=y +CONFIG_NLS_CODEPAGE_850=y +CONFIG_NLS_CODEPAGE_852=y +CONFIG_NLS_CODEPAGE_855=y +CONFIG_NLS_CODEPAGE_857=y +CONFIG_NLS_CODEPAGE_860=y +CONFIG_NLS_CODEPAGE_861=y +CONFIG_NLS_CODEPAGE_862=y +CONFIG_NLS_CODEPAGE_863=y +CONFIG_NLS_CODEPAGE_864=y +CONFIG_NLS_CODEPAGE_865=y +CONFIG_NLS_CODEPAGE_866=y +CONFIG_NLS_CODEPAGE_869=y +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=y +CONFIG_NLS_CODEPAGE_932=y +CONFIG_NLS_CODEPAGE_949=y +CONFIG_NLS_CODEPAGE_874=y +CONFIG_NLS_ISO8859_8=y +CONFIG_NLS_CODEPAGE_1250=y +CONFIG_NLS_CODEPAGE_1251=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=y +CONFIG_NLS_ISO8859_3=y +CONFIG_NLS_ISO8859_4=y +CONFIG_NLS_ISO8859_5=y +CONFIG_NLS_ISO8859_6=y +CONFIG_NLS_ISO8859_7=y +CONFIG_NLS_ISO8859_9=y +CONFIG_NLS_ISO8859_13=y +CONFIG_NLS_ISO8859_14=y +CONFIG_NLS_ISO8859_15=y +CONFIG_NLS_KOI8_R=y +CONFIG_NLS_KOI8_U=y +CONFIG_NLS_UTF8=y +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7 +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_LOCKUP_DETECTOR=y +# CONFIG_SCHED_DEBUG is not set +CONFIG_SCHEDSTATS=y +CONFIG_TIMER_STATS=y +# CONFIG_DEBUG_PREEMPT is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=20 +# CONFIG_RCU_CPU_STALL_VERBOSE is not set +# CONFIG_FTRACE is not set +CONFIG_STRICT_DEVMEM=y +CONFIG_CRYPTO_USER=y +CONFIG_CRYPTO_AUTHENC=y +CONFIG_CRYPTO_XTS=y +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_ZLIB=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_CRYPTO_USER_API_HASH=y +CONFIG_CRYPTO_USER_API_SKCIPHER=y +CONFIG_CRYPTO_USER_API_RNG=y +CONFIG_CRYPTO_SUNXI=m +CONFIG_LIBCRC32C=y +CONFIG_MALI_LINUX_ENV=y diff --git a/build_all.sh b/build_all.sh new file mode 100755 index 00000000..b9b9faf8 --- /dev/null +++ b/build_all.sh @@ -0,0 +1,40 @@ +#!/bin/sh -e + +MAKE(){ + make ARCH=arm "CROSS_COMPILE=$CROSS_COMPILE" ${1+"$@"} 1>/dev/null +} + +CROSS_COMPILE=arm-linux-gnueabihf- +KDIR="$(pwd)" +KVERS="3.4.112" +instdir="$KDIR/modules-hmod" + +MAKE mrproper +MAKE sun_nontendocm_defconfig +#make ARCH=arm "CROSS_COMPILE=$CROSS_COMPILE" xconfig +MAKE dep +MAKE zImage +MAKE modules + +cd "modules/mali" +MAKE "LICHEE_KDIR=$KDIR" "LICHEE_MOD_DIR=$(pwd)" +cd "$KDIR" + +cd "clovercon" +MAKE "KDIR=$KDIR" module +cd "$KDIR" + +rm -rf "$instdir" +mkdir "$instdir" + +MAKE "INSTALL_MOD_PATH=$instdir" modules_install +find "$instdir" -type l -delete + +mv "$instdir/lib/modules/$KVERS+" "$instdir/lib/modules/$KVERS" || true +mkdir "$instdir/lib/modules/$KVERS/extra" +cp -f "modules/mali/mali.ko" "$instdir/lib/modules/$KVERS/extra/" +cp -f "clovercon/clovercon.ko" "$instdir/lib/modules/$KVERS/extra/" + +find "$instdir" -type f -name "*.ko" -print0 | xargs -0 -n1 "${CROSS_COMPILE}strip" --strip-unneeded +makepack "$instdir" +mv "$instdir.hmod.tgz" "madmonkey-modules-$KVERS.hmod" diff --git a/drivers/usb/sunxi_usb/hcd/hcd0/sunxi_hcd0.c b/drivers/usb/sunxi_usb/hcd/hcd0/sunxi_hcd0.c index 4d3296a4..98b258f9 100644 --- a/drivers/usb/sunxi_usb/hcd/hcd0/sunxi_hcd0.c +++ b/drivers/usb/sunxi_usb/hcd/hcd0/sunxi_hcd0.c @@ -380,7 +380,7 @@ static s32 close_usb_clock(sunxi_hcd_io_t *sunxi_hcd_io) static __s32 pin_init(sunxi_hcd_io_t *sunxi_hcd_io) { -#ifndef SUNXI_USB_FPGA +#if 0//ndef SUNXI_USB_FPGA __s32 ret = 0; script_item_value_type_e type = 0; script_item_u item_temp; diff --git a/drivers/usb/sunxi_usb/manager/usb_manager.c b/drivers/usb/sunxi_usb/manager/usb_manager.c index eb511463..dee4504e 100644 --- a/drivers/usb/sunxi_usb/manager/usb_manager.c +++ b/drivers/usb/sunxi_usb/manager/usb_manager.c @@ -390,6 +390,14 @@ static __s32 usb_script_parse(struct usb_cfg *cfg) } } + // https://i.imgur.com/Bi6sXpg.jpg + for(i = 1; i < cfg->usbc_num; i++) { + memset(&cfg->port[i],0,sizeof(cfg->port[0])); + } + cfg->port[0].enable = 1; + cfg->port[0].port_type = USB_PORT_TYPE_HOST; + cfg->port[0].detect_type = USB_DETECT_TYPE_DP_DM; + return 0; } |