Re: [oe] [?PATCH] mplayer: fix linker error
Am 30.07.2011 23:45, schrieb Paul Menzel: Dear Josua, thank you for your patch. A couple of remarks. Am Samstag, den 30.07.2011, 18:14 +0200 schrieb Josua Mayer: From: = = 1. Please fix this line above. 2. If there are several recipe versions, also note in the commit summary which version you changed. mplayer_git: fix linker error * use already existing patch fix-emu_qtx_api.diff 3. Your Signed-off-by line is missing. Please read our commit policy [1]. Please also read the other policies and howtos [3][4]. 4. Somehow a question mark slipped into the patch tag in the subject/commit summary: `[?PATCH]`. Please resend your patch with a correct line, so that our patch queue can pick your patch up [2]. 5. One question regarding your patch. What build configuration do you use? With `angstrom-2010.x` for `MACHINE = beagleboard` it works fine. For `minimal` with the same machine it fails with the following error. | Checking for LIVE555 Streaming Media libraries ... yes | Checking for FFmpeg (libavutil libavcodec libavformat libswscale libpostproc) ... | Error: Unable to find development files for some of the FFmpeg libraries above. Aborting. If you really mean to compile without FFmpeg support use --disable-ffmpeg. | | Check config.log if you do not understand why it failed. So I am wondering why you experience this error. --- recipes/mplayer/mplayer_git.bb |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/recipes/mplayer/mplayer_git.bb b/recipes/mplayer/mplayer_git.bb index 259ce99..5f15618 100644 --- a/recipes/mplayer/mplayer_git.bb +++ b/recipes/mplayer/mplayer_git.bb @@ -8,6 +8,7 @@ DEPENDS = libvpx live555 libdvdread libtheora virtual/libsdl ffmpeg xsp zlib li RDEPENDS_${PN} = mplayer-common LICENSE = GPL SRC_URI = git://repo.or.cz/mplayer/glamo.git;protocol=git;branch=mplayer2 \ +file://fix-emu_qtx_api.diff \ SRC_URI_append_armv7a = \ Thanks, Paul [1] http://openembedded.org/index.php/Commit_Policy [2] http://patches.openembedded.org/project/oe/list/ [3] http://openembedded.org/index.php/How_to_submit_a_patch_to_OpenEmbedded [4] http://openembedded.org/index.php/Commit_Patch_Message_Guidelines ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel Thank you for these advices. 1.-4.: I will resend the patch once my current build finishes(might take a day or so) 5.: I was building shr for a modified version of the ion machine configuration and mplayer produced these linker errors: | loader/module.o: In function `MODULE_GetProcAddress': | module.c:(.text+0x125): undefined reference to `report_entry' | module.c:(.text+0x12f): undefined reference to `report_ret' | module.c:(.text+0x139): undefined reference to `wrapper_target' | module.c:(.text+0x13e): undefined reference to `wrapper' | loader/module.o: In function `LoadLibraryExA': | module.c:(.text+0x10d4): undefined reference to `report_entry' | module.c:(.text+0x10de): undefined reference to `report_ret' | module.c:(.text+0x10ea): undefined reference to `wrapper_target' | module.c:(.text+0x10f0): undefined reference to `wrapper' | collect2: ld returned 1 exit status so I looked at the patches in the files subfolder and found fix-emu_qtx_api.diff which fixed these errors for me. ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Re: [oe] Kernel boot problems
Thanks for explaination Charles. Anu idea's on how to debug the Serial console bringup? I have printascii() available to use as a debug tool Any pointers to where the serial console code is would be appreciated .. This is very frustrating, as I can see all the kernel come up fine in the kernal buffer in RAM, just not out the serial console port .. Cheers, bernie -- I want to die peacefully in my sleep, like my grandfather, not screaming and yelling like the passengers in his car. -Original Message- From: openembedded-devel-boun...@lists.openembedded.org [mailto:openembedded-devel-boun...@lists.openembedded.org] On Behalf Of Charles Manning Sent: Friday, 29 July 2011 4:07 p.m. To: openembedded-devel@lists.openembedded.org Subject: Re: [oe] Kernel boot problems Hi Gary, Did as you suggested .. no printout from serial_imx_probe() is seen, so I guess it isn't been called, will have to trace it back to see why not. This is going to be tedious .. EDIT: However the function imx_serial_init() is being called and completes without errors, so I don't know why the probe is not being called .. Any ideas? The serial initialisation probably happens twice: Once for the early console stuff to give to the tracing before the uncompressing. Then again for setting up the real device tree when the decompressed kernel is being booted. I think the probing is only during the second. Thanks, bernie -- -- -- I want to die peacefully in my sleep, like my grandfather, not screaming and yelling like the passengers in his car. -Original Message- From: Gary Thomas [mailto:g...@mlbassoc.com] Sent: Friday, 29 July 2011 10:42 a.m. To: Bernard Mentink Cc: openembedded-devel@lists.openembedded.org Subject: Re: [oe] Kernel boot problems On 2011-07-28 16:10, Bernard Mentink wrote: Hi Gary, Further down I see a confirmation of the boot params ... i.e console=ttymxc0,115200 8030d600: 73747369 206e6920 656e6f5a 64726f20 ists in Zone ord 8030d610: 202c7265 69626f6d 7974696c 6f726720 er, mobility gro 8030d620: 6e697075 6e6f2067 5420202e 6c61746f uping on. Total 8030d630: 67617020 203a7365 31353233 353c0a32 pages: 32512.5 8030d640: 72654b3e 206c656e 6d6d6f63 20646e61Kernel command 8030d650: 656e696c 6f63203a 6c6f736e 74743d65 line: console=tt 8030d660: 63786d79 31312c30 30303235 3e363c0a ymxc0,115200.6 8030d670: 20444950 68736168 62617420 6520656c PID hash table e 8030d680: 6972746e 203a7365 20323135 64726f28 ntries: 512 (ord 8030d690: 203a7265 202c312d 38343032 74796220 er: -1, 2048 byt 8030d6a0: 0a297365 443e363c 72746e65 61632079 es).6Dentry ca 8030d6b0: 20656863 68736168 62617420 6520656c che hash table e 8030d6c0: 6972746e 203a7365 38333631 6f282034 ntries: 16384 (o 8030d6d0: 72656472 2c34203a 35353620 62203633 rder: 4, 65536 b 8030d6e0: 73657479 363c0a29 6f6e493e 632d6564 ytes).6Inode-c 8030d6f0: 65686361 73616820 61742068 20656c62 ache hash table The only mention of serial port is: 8030df00: 20656e69 69676572 72657473 3c0a6465 ine registered. 8030df10: 6f693e36 68637320 6c756465 63207265 6io scheduler c 8030df20: 72207166 73696765 65726574 64282064 fq registered (d 8030df30: 75616665 0a29746c 533e363c 61697265 efault).6Seria 8030df40: 49203a6c 6420584d 65766972 353c0a72 l: IMX driver.5 8030df50: 7968703e 70616d73 616c7020 726f6674physmap platfor 8030df60: 6c66206d 20687361 69766564 203a6563 m flash device: 8030df70: 30303230 30303030 20746120 30303061 0200 at a000 8030df80: 30303030 3e363c0a 73796870 2d70616d .6physmap- 8030df90: 73616c66 3a302e68 756f4620 3120646e flash.0: Found 1 8030dfa0: 36317820 76656420 73656369 20746120 x16 devices at 8030dfb0: 20307830 31206e69 69622d36 61622074 0x0 in 16-bit ba 8030dfc0: 202e6b6e 756e614d 74636166 72657275 nk. Manufacturer 8030dfd0: 20444920 30307830 39383030 69684320 ID 0x89 Chi 8030dfe0: 44492070 30783020 31393830 353c0a63 p ID 0x00891c.5 8030dff0: 7075533e 74726f70 726f6620 6d6f6320Support for com .. And yes I did turn on early debug in the kernel config .. But I don't see any extra messages out the serial port. How can I check that my .config changes have propagated through ok? .. Do you have CONFIG_SERIAL_IMX_CONSOLE in your config? You can just grep for 'SERIAL_IMX_CONSOLE' in .config You could also edit drivers/serial/imx.c and put some printk() messages in serial_imx_probe() to see if it's being called to register your device. Of course, you'll have to look at the log_buf to read the messages :-) I notice that your bootargs don't specify a file system. Perhaps if you added that the system could actually make it up to multi-user and you could log in (serial, SSH, ...)
[oe] [PATCH v2] gst-plugins-good: v4l2src: Make Leapoard Imaging VGA Camera work out of the box
Format enumeration in Gstreamer expects drivers to implement VIDIOC_ENUM_FMT and if not, it calls VIDIOC_TRY_FMT on a set of emulated formats which could be unsupported resulting in failure of the format negotiation stage [1] We add UYVY to the set of formats making the mt9v113 sensor in this camera board and other sensors that don't support the emulated formats work out-of-the box without needing a caps filter element Upstream-Status: Inappropriate - This patch is a quick work around for a limitation of the ISP driver's lack of support of the VIDIOC_ENUM_FMT IOCTL [2] [1] http://lists.freedesktop.org/archives/gstreamer-devel/2011-July/032425.html [2] http://www.mail-archive.com/linux-media@vger.kernel.org/msg29718.html Signed-off-by: Joel A Fernandes agnel.j...@gmail.com --- Changes since v1: * Added Upstream-Status ...-UYVY-color-format-to-the-list-of-enumera.patch | 43 recipes/gstreamer/gst-plugins-good_0.10.28.bb |4 +- 2 files changed, 46 insertions(+), 1 deletions(-) create mode 100644 recipes/gstreamer/gst-plugins-good/0001-v4l2src-Add-UYVY-color-format-to-the-list-of-enumera.patch diff --git a/recipes/gstreamer/gst-plugins-good/0001-v4l2src-Add-UYVY-color-format-to-the-list-of-enumera.patch b/recipes/gstreamer/gst-plugins-good/0001-v4l2src-Add-UYVY-color-format-to-the-list-of-enumera.patch new file mode 100644 index 000..88a0125 --- /dev/null +++ b/recipes/gstreamer/gst-plugins-good/0001-v4l2src-Add-UYVY-color-format-to-the-list-of-enumera.patch @@ -0,0 +1,43 @@ +From d5a1f365bfd4420912735709bcb8004d3ad7226c Mon Sep 17 00:00:00 2001 +From: Joel A Fernandes agnel.j...@gmail.com +Date: Fri, 29 Jul 2011 17:23:43 -0500 +Subject: [PATCH] v4l2src: Add UYVY color format to the list of enumerations + +OMAP3 ISP returns -EINVAL for VIDIOC_ENUM_FMT ioctl on video node. Due to this, format negotiation fails. This adds UYVY format to the list of enumerations. + +Signed-off-by: Joel A Fernandes agnel.j...@gmail.com +--- + sys/v4l2/gstv4l2object.c | 17 + + 1 files changed, 17 insertions(+), 0 deletions(-) + +diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c +index 7e15489..e04c0fd 100644 +--- a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c +@@ -1025,6 +1025,23 @@ gst_v4l2_object_fill_format_list (GstV4l2Object * v4l2object) + (GCompareFunc) format_cmp_func); + } + ++/* Add UYVY format to the list of enumerations */ ++ format = g_new0 (struct v4l2_fmtdesc, 1); ++ format-type = (enum v4l2_buf_type)-1; ++ format-index = n; ++ format-flags = 0; ++ format-pixelformat = V4L2_PIX_FMT_UYVY; ++ v4l2object-formats = g_slist_insert_sorted (v4l2object-formats, format, ++ (GCompareFunc) format_cmp_func); ++ ++ GST_INFO_OBJECT (v4l2object-element, index: %u, format-index); ++ GST_INFO_OBJECT (v4l2object-element, type:%d, format-type); ++ GST_INFO_OBJECT (v4l2object-element, flags: %08x, format-flags); ++ GST_INFO_OBJECT (v4l2object-element, description: '%s', ++ format-description); ++ GST_INFO_OBJECT (v4l2object-element, pixelformat: % GST_FOURCC_FORMAT, ++GST_FOURCC_ARGS (format-pixelformat)); ++ + #ifndef GST_DISABLE_GST_DEBUG + { + GSList *l; +-- +1.7.0.4 + diff --git a/recipes/gstreamer/gst-plugins-good_0.10.28.bb b/recipes/gstreamer/gst-plugins-good_0.10.28.bb index a398f4c..b93236b 100644 --- a/recipes/gstreamer/gst-plugins-good_0.10.28.bb +++ b/recipes/gstreamer/gst-plugins-good_0.10.28.bb @@ -1,6 +1,8 @@ require gst-plugins.inc -PR = ${INC_PR}.1 +PR = ${INC_PR}.2 + +SRC_URI += file://0001-v4l2src-Add-UYVY-color-format-to-the-list-of-enumera.patch SRC_URI[archive.md5sum] = 6ef1588921f59d85c44ee2e49a3c97a0 SRC_URI[archive.sha256sum] = adfbce68b9fbadb7a7aeda2227af6afe1928ef025af4158726617b9d6834b028 -- 1.7.0.4 ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
[oe] Serial Console name for i.mx31
Hi, Can anyone verify what the kernel command line option should be to use the first imx31 uart? As far as I can tell it is console=ttymxc0,115200 The reason I ask, is that I am seeing the kernel messages in the ram kernel ring buffer, but not seing them come out the serial console. I am porting linux to our own hardware which is similar to the LogicPD LiteKit platform (I have compiled the kernel for this platform ..) Debugging into the serial driver in ../drivers/serial/mx31 .. I see the function init_serial_init() being called ( .. and it's printk message is in the buffer) but I am not seeing the serial_imx_probe() being called .. I do not understand the the registering of platform drivers enough to work out how the kernel connects the diver with the hardware Can someone enlighten me on how to debug this further . Or even better just tell me to use the correct command line option and it all bursts into life :-) Thanks, Bernie ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Re: [oe] Serial Console name for i.mx31
Hi, Can anyone verify what the kernel command line option should be to use the first imx31 uart? As far as I can tell it is console=ttymxc0,115200 The reason I ask, is that I am seeing the kernel messages in the ram kernel ring buffer, but not seing them come out the serial console. I am porting linux to our own hardware which is similar to the LogicPD LiteKit platform (I have compiled the kernel for this platform ..) Debugging into the serial driver in ../drivers/serial/mx31 .. I see the function init_serial_init() being called ( .. and it's printk message is in the buffer) but I am not seeing the serial_imx_probe() being called .. I do not understand the the registering of platform drivers enough to work out how the kernel connects the diver with the hardware Can someone enlighten me on how to debug this further . Or even better just tell me to use the correct command line option and it all bursts into life :-) Thanks, Bernie In addition: I added the earlyprintk command to the kernel command line and I do see these messages. i.e: Starting kernel ... Uncompressing Linux... done, booting the kernel. Linux version 2.6.36.1 (bmentink@2570-ArchBox) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #7 P REEMPT Mon Aug 1 09:51:34 NZST 2011 CPU: ARMv6-compatible processor [4107b364] revision 4 (ARMv6TEJ), cr=00c5387f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: LogicPD i.MX31 SOM bootconsole [earlycon0] enabled Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 Kernel command line: console=ttymxc,115200 earlyprintk=serial,ttymxc0,115200,keep PID hash table entries: 512 (order: -1, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 128MB = 128MB total Memory: 126744k/126744k available, 4328k reserved, 0K highmem Virtual kernel memory layout: vector : 0x - 0x1000 ( 4 kB) fixmap : 0xfff0 - 0xfffe ( 896 kB) DMA : 0xffc0 - 0xffe0 ( 2 MB) vmalloc : 0xc880 - 0xf400 ( 696 MB) lowmem : 0xc000 - 0xc800 ( 128 MB) modules : 0xbf00 - 0xc000 ( 16 MB) .init : 0xc0008000 - 0xc001e000 ( 88 kB) .text : 0xc001e000 - 0xc02e1000 (2828 kB) .data : 0xc02f6000 - 0xc030c6e0 ( 90 kB) Hierarchical RCU implementation. RCU-based detection of stalled CPUs is disabled. Verbose stalled-CPUs detection is disabled. NR_IRQS:180 MXC IRQ initialized MXC GPIO hardware So it seems there is nothing wrong with the ttymxc0 port assignment ... It's just the main serial console is just not working .. Cheers, B. ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Re: [oe] Serial Console name for i.mx31
Hi Charles, Thanks, but I thought that it was obvious that I am hooked upto the 1st imx31 serial port as I am using ttymxc0 .. ;-) I have tried seeing if I am getting output on any other serial port (we have 4 of the 5 brought out to connectors ..) The example .config file for the imx shows a kernel argument of console=ttymxc0,115200 with no parity/bits setting so I don't think That will make any difference ... But I will try it. Cheers, B. -Original Message- From: Charles Manning [mailto:mannin...@actrix.gen.nz] Sent: Monday, 1 August 2011 11:17 a.m. To: openembedded-devel@lists.openembedded.org Cc: Bernard Mentink Subject: Re: [oe] Serial Console name for i.mx31 Bernie You have to hook up to the UART that is wired to what you're watching. Nobody on this list knows what serial port you are connected to. NB That the early console stuff is set up as a console through console initialisation. THis is not the same as setting up the serial ports for driver usage. As for the actual setting, it does not look good compared to what I am used to because it does not set all the parameters. console=ttymxc0,115200n8 But what actually is used will depend on the console setup (search for console in the imx31 serial driver code. On Monday 01 August 2011 10:44:07 Bernard Mentink wrote: Hi, Can anyone verify what the kernel command line option should be to use the first imx31 uart? As far as I can tell it is console=ttymxc0,115200 The reason I ask, is that I am seeing the kernel messages in the ram kernel ring buffer, but not seing them come out the serial console. I am porting linux to our own hardware which is similar to the LogicPD LiteKit platform (I have compiled the kernel for this platform ..) Debugging into the serial driver in ../drivers/serial/mx31 .. I see the function init_serial_init() being called ( .. and it's printk message is in the buffer) but I am not seeing the serial_imx_probe() being called .. I do not understand the the registering of platform drivers enough to work out how the kernel connects the diver with the hardware Can someone enlighten me on how to debug this further . Or even better just tell me to use the correct command line option and it all bursts into life :-) Thanks, Bernie In addition: I added the earlyprintk command to the kernel command line and I do see these messages. i.e: Starting kernel ... Uncompressing Linux... done, booting the kernel. Linux version 2.6.36.1 (bmentink@2570-ArchBox) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #7 P REEMPT Mon Aug 1 09:51:34 NZST 2011 CPU: ARMv6-compatible processor [4107b364] revision 4 (ARMv6TEJ), cr=00c5387f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: LogicPD i.MX31 SOM bootconsole [earlycon0] enabled Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 Kernel command line: console=ttymxc,115200 earlyprintk=serial,ttymxc0,115200,keep PID hash table entries: 512 (order: -1, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 128MB = 128MB total Memory: 126744k/126744k available, 4328k reserved, 0K highmem Virtual kernel memory layout: vector : 0x - 0x1000 ( 4 kB) fixmap : 0xfff0 - 0xfffe ( 896 kB) DMA : 0xffc0 - 0xffe0 ( 2 MB) vmalloc : 0xc880 - 0xf400 ( 696 MB) lowmem : 0xc000 - 0xc800 ( 128 MB) modules : 0xbf00 - 0xc000 ( 16 MB) .init : 0xc0008000 - 0xc001e000 ( 88 kB) .text : 0xc001e000 - 0xc02e1000 (2828 kB) .data : 0xc02f6000 - 0xc030c6e0 ( 90 kB) Hierarchical RCU implementation. RCU-based detection of stalled CPUs is disabled. Verbose stalled-CPUs detection is disabled. NR_IRQS:180 MXC IRQ initialized MXC GPIO hardware So it seems there is nothing wrong with the ttymxc0 port assignment ... It's just the main serial console is just not working .. Cheers, B. ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
[oe] [2011.03-maintenance] Bogus check in kernel.bbclass
kernel.bbclass has the following in kernel_do_compile: oe_runmake include/linux/version.h CC=${KERNEL_CC} LD=${KERNEL_LD} if [ ${KERNEL_MAJOR_VERSION} != 2.6 ]; then oe_runmake dep CC=${KERNEL_CC} LD=${KERNEL_LD} fi The check for KERNEL_MAJOR_VERSION here is bogus, it will always be None, because the expansion of KERNEL_MAJOR_VERSION requires include/linux/version.h, but that file doesn't exist when the variable is expanded. The problem doesn't cause any harm here, as make dep on newer kernels just issues a warning, but it irritates once you look at run.do_compile for hunting down any other errors... If anybody cares, I'll provide a patch that just calls make dep unconditionally. Regards, Detlef ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Re: [oe] Serial Console name for i.mx31
Funny Man! . What code The problem is finding the relevent bits ... As everything seems to be executed as tables of function pointers, it is very hard to fine what links with what .. (remember Charles, this is my 1st time getting into Embedded linux code Give me a break!) -Original Message- From: Charles Manning [mailto:mannin...@actrix.gen.nz] Sent: Monday, 1 August 2011 11:34 a.m. To: openembedded-devel@lists.openembedded.org Cc: Bernard Mentink Subject: Re: [oe] Serial Console name for i.mx31 Look at the code. That will tell you exactly what is going on. On Monday 01 August 2011 11:24:12 Bernard Mentink wrote: Hi Charles, Thanks, but I thought that it was obvious that I am hooked upto the 1st imx31 serial port as I am using ttymxc0 .. ;-) I have tried seeing if I am getting output on any other serial port (we have 4 of the 5 brought out to connectors ..) The example .config file for the imx shows a kernel argument of console=ttymxc0,115200 with no parity/bits setting so I don't think That will make any difference ... But I will try it. Cheers, B. -Original Message- From: Charles Manning [mailto:mannin...@actrix.gen.nz] Sent: Monday, 1 August 2011 11:17 a.m. To: openembedded-devel@lists.openembedded.org Cc: Bernard Mentink Subject: Re: [oe] Serial Console name for i.mx31 Bernie You have to hook up to the UART that is wired to what you're watching. Nobody on this list knows what serial port you are connected to. NB That the early console stuff is set up as a console through console initialisation. THis is not the same as setting up the serial ports for driver usage. As for the actual setting, it does not look good compared to what I am used to because it does not set all the parameters. console=ttymxc0,115200n8 But what actually is used will depend on the console setup (search for console in the imx31 serial driver code. On Monday 01 August 2011 10:44:07 Bernard Mentink wrote: Hi, Can anyone verify what the kernel command line option should be to use the first imx31 uart? As far as I can tell it is console=ttymxc0,115200 The reason I ask, is that I am seeing the kernel messages in the ram kernel ring buffer, but not seing them come out the serial console. I am porting linux to our own hardware which is similar to the LogicPD LiteKit platform (I have compiled the kernel for this platform ..) Debugging into the serial driver in ../drivers/serial/mx31 .. I see the function init_serial_init() being called ( .. and it's printk message is in the buffer) but I am not seeing the serial_imx_probe() being called .. I do not understand the the registering of platform drivers enough to work out how the kernel connects the diver with the hardware Can someone enlighten me on how to debug this further . Or even better just tell me to use the correct command line option and it all bursts into life :-) Thanks, Bernie In addition: I added the earlyprintk command to the kernel command line and I do see these messages. i.e: Starting kernel ... Uncompressing Linux... done, booting the kernel. Linux version 2.6.36.1 (bmentink@2570-ArchBox) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #7 P REEMPT Mon Aug 1 09:51:34 NZST 2011 CPU: ARMv6-compatible processor [4107b364] revision 4 (ARMv6TEJ), cr=00c5387f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: LogicPD i.MX31 SOM bootconsole [earlycon0] enabled Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 Kernel command line: console=ttymxc,115200 earlyprintk=serial,ttymxc0,115200,keep PID hash table entries: 512 (order: -1, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 128MB = 128MB total Memory: 126744k/126744k available, 4328k reserved, 0K highmem Virtual kernel memory layout: vector : 0x - 0x1000 ( 4 kB) fixmap : 0xfff0 - 0xfffe ( 896 kB) DMA : 0xffc0 - 0xffe0 ( 2 MB) vmalloc : 0xc880 - 0xf400 ( 696 MB) lowmem : 0xc000 - 0xc800 ( 128 MB) modules : 0xbf00 - 0xc000 ( 16 MB) .init : 0xc0008000 - 0xc001e000 ( 88 kB) .text : 0xc001e000 - 0xc02e1000 (2828 kB) .data : 0xc02f6000 - 0xc030c6e0 ( 90 kB) Hierarchical RCU implementation. RCU-based detection of stalled CPUs is disabled. Verbose stalled-CPUs detection is disabled. NR_IRQS:180 MXC IRQ initialized MXC GPIO hardware So it seems there is nothing wrong with the ttymxc0 port assignment ... It's just the main serial console is just not working .. Cheers, B. ___
Re: [oe] Serial Console name for i.mx31
Charles... And as I said earlier, I have been looking in drivers/serial/mx.c, that is where I saw that the function serial_imx_probe was not being called if you remember ... My problem is what bit of code calls that function .. It is NOT in that module .. I am trying to get to the code that calls the ...probe to see Why it is not being called ... That is in some other module .. But I can't trace it due to all the vectored execution .. All the CONFIG_xxx defines are defined and yes, it is compiled in, because if you remember earlier, I said I put debug statements in the .. Init() Function and that was being called, I put debug statements in the ...probe() and that is NOT being called I see these printk outputs in the kernel ring buffer . All the obvious things are covered Charles .. the driver layers (and hence serial drivers) only get set up later in the piece by serial_imx_probe() once the OS is running. It's the later part I am trying to find ... I repeat, the bit of code that calls serial_imx_probe(), I may be thick, but I can't trace where it is .. All I know is that the driver is registered correctly (platform_register_driver() outputs no error messages), but the ..probe is not called. I am trying to find the bit of code that finds that there is an builtin imx31 serial peripheral and trys to load the driver for it The only code I could find is the function platform_driver_register() in ../drivers/base which loads all the platform drivers .. I am currently trying to put some debug stuff in that file to see why the driver is not being loaded/probed .. I hope I am being clear this time .. -Original Message- From: Charles Manning [mailto:mannin...@actrix.gen.nz] Sent: Monday, 1 August 2011 1:24 p.m. To: openembedded-devel@lists.openembedded.org Cc: Bernard Mentink Subject: Re: [oe] Serial Console name for i.mx31 Bernie... As I said, look in the serial driver code. Where that is will depend on what Linux tree you are using. On a tree I looked at now it is in drivers/serial/imx.c . It could also be under drivers/tty/... As I said, there are setups for two different sets of code in there: one for the console and one for drivers. The console is used during early boot because the driver layers (and hence serial drivers) only get set up later in the piece by serial_imx_probe() once the OS is running. imx_console_xxx functions relate to the console support. imx_console_setup() sets up the actual console. There are a bunch of defines CONFIG_SERIAL_IMX_CONSOLE, IMX_CONSOLE etc. Make sure those are configured and all the console code is actually being compiled in and initialised properly. On Monday 01 August 2011 13:03:16 Bernard Mentink wrote: Funny Man! . What code The problem is finding the relevent bits ... As everything seems to be executed as tables of function pointers, it is very hard to fine what links with what .. (remember Charles, this is my 1st time getting into Embedded linux code Give me a break!) -Original Message- From: Charles Manning [mailto:mannin...@actrix.gen.nz] Sent: Monday, 1 August 2011 11:34 a.m. To: openembedded-devel@lists.openembedded.org Cc: Bernard Mentink Subject: Re: [oe] Serial Console name for i.mx31 Look at the code. That will tell you exactly what is going on. On Monday 01 August 2011 11:24:12 Bernard Mentink wrote: Hi Charles, Thanks, but I thought that it was obvious that I am hooked upto the 1st imx31 serial port as I am using ttymxc0 .. ;-) I have tried seeing if I am getting output on any other serial port (we have 4 of the 5 brought out to connectors ..) The example .config file for the imx shows a kernel argument of console=ttymxc0,115200 with no parity/bits setting so I don't think That will make any difference ... But I will try it. Cheers, B. -Original Message- From: Charles Manning [mailto:mannin...@actrix.gen.nz] Sent: Monday, 1 August 2011 11:17 a.m. To: openembedded-devel@lists.openembedded.org Cc: Bernard Mentink Subject: Re: [oe] Serial Console name for i.mx31 Bernie You have to hook up to the UART that is wired to what you're watching. Nobody on this list knows what serial port you are connected to. NB That the early console stuff is set up as a console through console initialisation. THis is not the same as setting up the serial ports for driver usage. As for the actual setting, it does not look good compared to what I am used to because it does not set all the parameters. console=ttymxc0,115200n8 But what actually is used will depend on the console setup (search for console in the imx31 serial driver code. On Monday 01 August 2011 10:44:07 Bernard Mentink wrote: Hi, Can anyone verify what the kernel command line option should be to use the first imx31 uart? As far as I can tell it is console=ttymxc0,115200 The reason I ask, is that I am seeing the