Hi ,
We are using 2.6.31 linux kernel provided by freescale for I.mx25. we want to update the kernel and the versanion is 3.0.
1)Has any one worked on updating linux kernel with Ltib?
2)what changed needs to be done in LTIB in order to integrate the updated kernel and porting back to the I.mx25?
Regards,
Priti
已解决! 转到解答。
You only need to add SPI to the mx25_3ds board. Take a look at:
arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c for a reference.
Regards,
Fabio Estevam
Hi Fabio,
Thank you so much for your help ..Yes partition table was missing for IMX25 board .
i have added following mtd partition data in mx25 board file :
static struct mtd_partition mxc_nand_partitions[] = {
{
.name = "nand.bootloader",
.offset = 0,
.size = 3 * 1024 * 1024},
{
.name = "nand.kernel",
.offset = MTDPART_OFS_APPEND,
.size = 5 * 1024 * 1024},
{
.name = "nand.rootfs",
.offset = MTDPART_OFS_APPEND,
.size = 256 * 1024 * 1024},
{
.name = "nand.configure",
.offset = MTDPART_OFS_APPEND,
.size = 8 * 1024 * 1024},
{
.name = "nand.userfs",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL},
};
now i can see the paritions message and it is motunting but still i am facing some write issue with file system .
same file system i am using with 2.6.31 kernel on my board and it works fine. But same is not working with 3.4.9 kernel.
even tho i am using the same command to building the file system
mkfs.jffs2 -r rootfs -e 0x20000 -s 0x800 -n -o rootfs.jffs2
Please find the log attached for your reference .
Please advise if you have any pointers.
Thanks in Advance.
Regards,
Priti
Hi,
i am working on SPI device . in 3.4.9 kernel i dont see SPI support for I,MX25.
i have found one file linux-3.4.9/drivers/spi/spi-imx.c , i can see
static const struct of_device_id spi_imx_dt_ids[] = {
{ .compatible = "fsl,imx1-cspi", .data = &imx1_cspi_devtype_data, },
{ .compatible = "fsl,imx21-cspi", .data = &imx21_cspi_devtype_data, },
{ .compatible = "fsl,imx27-cspi", .data = &imx27_cspi_devtype_data, },
{ .compatible = "fsl,imx31-cspi", .data = &imx31_cspi_devtype_data, },
{ .compatible = "fsl,imx35-cspi", .data = &imx35_cspi_devtype_data, },
{ .compatible = "fsl,imx51-ecspi", .data = &imx51_ecspi_devtype_data, },
{ /* sentinel */ }
};
and also there is no Spi Device initialization in mx25 board file( mach-mx25_3ds.c) .
Does it mean this main line kernel does not support I.mx25 SPi interface or i only need to add I,mx25 SPI controller data here?
I am working on BSP for imx25. I had included 3.4.9 mainline kernel to ltib. I am trying to boot the board as per the imx 25 defconfig. I am trying to flash on from NAND.
But jffs2 root file system is not mounting. Comparing booting logs of 2.6.31 kernel and 3.4.9 kernel on imx25 pdk, I observerd that mtd driver partitions table is missing even though all the drivers are enabled. I had gone through config files and few kernel files. But unable to find partition table code in 3.4.9 kernel. Can anyone tell me where I can find mtd partition table code in 3.4.9 kernel? Or is there any other way to specify partition table settings. Please refer to the link.
Thanks in advance.
Original code does not define any partition in NAND for mx25pdk.
You can do it by defining a mtd_partition struct in arch/arm/mach-imx/mach-mx25_3ds.c.
Take a look at arch/arm/mach-imx/mach-armadillo5x0.c as reference.
Regards,
Fabio Estevam
I do not understand what do you want.
1- Upgrade the kernel version for your board. (For example, have any 3.0 kernel to be loaded on your board)
2- Change LTIB configuration files to include another kernel source code.
Please, let me know what is your goal.
1) Have a look at http://pengutronix.de/index_en.html their kernel goes up to 3.2 or something around that in their git repository, and it supports the imx25 nicely.
Freescale also have a git repository at git.freescale.com that supports 3.x kernels, not sure about the imx25 support there.
However not all the peripherals of the iMX25 are supported, for instance I built a 3.2 kernel for the imx25 but haven't managed to get the ADC touchscreen to work.
2) That's not terribly difficult, I just configured ltib to build a kernel from a directory which is where the kernel source resides using the ./ltib -m config command. You configure it on the page where you select the option to configure what user packages are in the kernel. It will then cross-compile the kernel for you and place all the output files in the correct directories.
There is also a thread on this on the community here https://community.freescale.com/thread/261632 that may provide some more information.