Working MSM7201 usb host driver v

by Andrew de Quincey » Tue, 09 Feb 2010 20:16:47 GMT


Sponsored Links
 Hi, here's my now working patch - I've still a bit of work to do on it
obviously, but it should suffice as a proof of concept

-- 



Working MSM7201 usb host driver v

by Andrew de Quincey » Tue, 09 Feb 2010 22:26:14 GMT


 




>> website: 


Sponsored Links


Working MSM7201 usb host driver v

by Andrew de Quincey » Wed, 10 Feb 2010 18:15:32 GMT


 Cool, I shall get on it then! Would 2.6.27 be the branch to go for would you
reckon?

Do you know if there's another list with more G1 users on it for testing
perhaps? This one seems sort of dead.

-- 



Working MSM7201 usb host driver v

by Andrew de Quincey » Wed, 10 Feb 2010 19:27:13 GMT


 Here you go - this is a patch against the android-msm-2.6.27 branch.

I don't have a config.gz from the G1, so I don't know what specific options
it uses so there may be compilation failures resulting from disabling the
USB_FUNCTION stuff. If you could send me a copy of your config.gz, I can
sort this out.

-- 



Working MSM7201 usb host driver v

by Andrew de Quincey » Wed, 10 Feb 2010 19:41:30 GMT


 Hi, sorry, my git skills failed me last time - resending :)

-- 



Working MSM7201 usb host driver v

by Jun Sun » Thu, 11 Feb 2010 01:50:25 GMT


 
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.25
# Wed Jan 20 21:12:11 2010
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_GENERIC_GPIO=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_MMU=y
# CONFIG_NO_IOPORT is not set
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_GPIOS=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_SUPPORTS_AOUT=y
CONFIG_ZONE_DMA=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="-01843-gfea26b0"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
# CONFIG_SYSVIPC is not set
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y
# CONFIG_FAIR_GROUP_SCHED is not set
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_PANIC_TIMEOUT=3
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_ASHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_KMOD is not set
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y

#
# System Type
#
# CONFIG_ARCH_AAEC2000 is not set
# CONFIG_ARCH_GOLDFISH is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_AT91 is not set
# CONFIG_ARCH_CLPS7500 is not set
#



Working MSM7201 usb host driver v

by Andrew de Quincey » Thu, 11 Feb 2010 02:32:29 GMT


 Hi, thanks for the .config, that helped getting my dev system setup a lot.
Anyway, attached is a backport against the android-msm-htc-2.6.25 branch; I
can't guarantee it'll work properly as the kernel EHCI stack has definitely
changed a bit since .25. It compiles though, what more testing do we need?
:)

I'm only going to support the standard linux USB host + gadget frameworks:
that's what all the linux USB OTG support is based on, and I can't be
bothered porting all that to the android specific USB_FUNCTION stuff. If
someone else does though, I've no objections!

I'm going to start reading up on OTG drivers to take this beyond the
prototype stage.

-- 



Working MSM7201 usb host driver v

by Jun Sun » Fri, 12 Feb 2010 18:11:41 GMT


 
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.25
# Thu Feb 11 22:47:00 2010
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_GENERIC_GPIO=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_MMU=y
# CONFIG_NO_IOPORT is not set
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_GPIOS=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_SUPPORTS_AOUT=y
CONFIG_ZONE_DMA=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="-01843-gfea26b0"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
# CONFIG_SYSVIPC is not set
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y
# CONFIG_FAIR_GROUP_SCHED is not set
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_PANIC_TIMEOUT=3
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_ASHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_KMOD is not set
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y

#
# System Type
#
# CONFIG_ARCH_AAEC2000 is not set
# CONFIG_ARCH_GOLDFISH is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_AT91 is not set
# CONFIG_ARCH_CLPS7500 is not set
#



Working MSM7201 usb host driver v

by Andrew de Quincey » Fri, 12 Feb 2010 18:33:04 GMT


 Hi, thanks for trying that out, good to see the EHCI hardware initialised
ok, even if its not quite working yet.

Are you supplying power to the USB disk on its /USB/ interface? Even if its
got an external PSU, it might need power on the USB line as well in order to
function properly.

When I plug a device in, I don't see anything at all until I've switched my
external usb-powering battery on.

If the two USB data lines are the wrong way round, you'll see the device
being plugged in, but it'll fail to communicate with it. As I've said, we
can fix this in software :)

I seriously doubt I have to tell you this, but just in case: make absolutely
certain the USB  GND and USB power lines aren't mixed up!

If that's not it, I can send a patch with loads of debugging turned on.

-- 



Working MSM7201 usb host driver v

by Chris Stratton » Mon, 15 Feb 2010 16:47:53 GMT


 Andrew,

I've tried patching the cyanogen 2.6.29.6-cm42 kernel with your usb
host code for basically the same finds root hub and nothing else
result on a magic32b that Jun Sun posted from a g1.

Im using a usb hard drive's Y cable and a usb A to mini adapter; I
think this should be good as the phone will charge off either the real
mini or the adapted one.  But nothing in dmesg either booting with
devices connected or connecting them later.

I think I need to learn about how the enumeration process is supposed
to trigger in an ordinary host only system.

Maybe one of us can figure out how to try a kernel closer to yours,
also should look for g1/magic vs. hero differences in source.

Chris

-- 



Other Threads

1. add node for new supplied media fromat (avi)

hi all

I also want to add avi format in android opencore. I had add a avi
paser recognizer in,
and register the recognizer in registries. From the log, it works,
when play a avi file the log shows that when quary the file format it
can get the right format,
which i add in file ../pvmi/pvmf/include/pvmf_format_type.h

            #define PVMF_AVI
PVMF_FIRST_COMPRESSED_VIDEO+7

next the opencore begin to get the nodes to build the pipline, but
there is no avi pasernode, so the log
shows error "do not support", is there any advice and ideal about the
paser node of opencore?
I try to find a way to build a avi pasernode from mp4 pasernode, but
it is sooooo complex, I do not know
the rules about it, can anyone help me? thank you very much!

--~--~---------~--~----~------------~-------~--~----~

2. How to play a .avi file(encoded with mpeg4) on android?

Hi,I want to play a .avi file(encoded with mpeg4).Is there any plan to play
it on android?If I do it myself,what should I do?I hope there is someone
giving me some idea.Thanks.

--~--~---------~--~----~------------~-------~--~----~

3. Hierarchy Viewer is not working on 1.5 sdk

4. Gartner on Android as a payment syste

5. Unable to open connection to supplicant on "wlan0": No such file or directory

6. Google Maps application problem - tiles not loading = grey background only / Maps API key available

7. What is the URL of the image capture when I launch an intent .ACTION_IMAGE_CAPTURE