Question about mem parameter in the bootargs
Hi, Does someone knows what is the smallest step to increase the mem parameter in the bootargs? I am running linux in an embedded system where I have a very critical memory constraint and I would like to have mem=3584k instead mem=3M or mem=4M. The Linux boot up sucessfull with mem=3M or mem=4M but the kernel crashes with mem=3584k. thank you Moratelli ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
sdhc/mpc8536 - SDCard always detected like read-only
Hello, I am working in a MPC8536e custom board. Our custom board has a slot to SDCards conected to the MPC8536e's eSDHC controller. We are using just 4-serial data pins of eSDHC controller. My kernel is 2.6.35.7 and I am using buildroot to build the root system with uClib. I can mount and read the data from SDCards in the slot. But I am facing errors when I try write something in the card. I am testing two SDcards: Kingston and a LG, both with 2GB capacity. I tryed ext3 and fat32 filesystems with the same results. When the card is detected the log is (observe the ro flag in the first line): mmcblk0: mmc0:57f7 SD02G 1.83 GiB (ro) mmcblk0: mmc0: starting CMD18 arg flags 00b5 mmc0: blksz 512 blocks 8 flags 0200 tsac 100 ms nsac 0 mmc0: CMD12 arg flags 049d sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001 sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001 mmc0: req done (CMD18): 0: 0900 mmc0: 4096 bytes transferred: 0 mmc0: (CMD12): 0: 0b00 p1 I am sure the write protection mechanism on SDCard is in the unlock position, but the kernel drivers detects the card like read-only. Has someone idea why this happen? Every idea or tip is apreciated. Regards, Moratelli. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: sdhc/mpc8536 - SDCard always detected like read-only
Em Ter, 2011-04-05 às 21:02 +0200, Wolfram Sang escreveu: > > Every idea or tip is apreciated. > > Please post your dts. > /* * MPC8536 DS Device Tree Source * * Copyright 2008-2009 Freescale Semiconductor, Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. */ /dts-v1/; / { model = "fsl,mpc8536ds"; compatible = "fsl,mpc8536ds"; #address-cells = <2>; #size-cells = <2>; aliases { ethernet0 = &enet0; serial0 = &serial0; serial1 = &serial1; pci1 = &pci1; }; cpus { #cpus = <1>; #address-cells = <1>; #size-cells = <0>; PowerPC,8536@0 { device_type = "cpu"; reg = <0>; next-level-cache = <&L2>; }; }; memory { device_type = "memory"; reg = <0 0 0 0>;// Filled by U-Boot }; soc@fffe0 { #address-cells = <1>; #size-cells = <1>; device_type = "soc"; compatible = "simple-bus"; ranges = <0x0 0xf 0xffe0 0x10>; bus-frequency = <0>;// Filled out by uboot. ecm-law@0 { compatible = "fsl,ecm-law"; reg = <0x0 0x1000>; fsl,num-laws = <12>; }; ecm@1000 { compatible = "fsl,mpc8536-ecm", "fsl,ecm"; reg = <0x1000 0x1000>; interrupts = <17 2>; interrupt-parent = <&mpic>; }; memory-controller@2000 { compatible = "fsl,mpc8536-memory-controller"; reg = <0x2000 0x1000>; interrupt-parent = <&mpic>; interrupts = <18 0x2>; }; L2: l2-cache-controller@2 { compatible = "fsl,mpc8536-l2-cache-controller"; reg = <0x2 0x1000>; interrupt-parent = <&mpic>; interrupts = <16 0x2>; }; i2c@3000 { #address-cells = <1>; #size-cells = <0>; cell-index = <0>; compatible = "fsl-i2c"; reg = <0x3000 0x100>; interrupts = <43 0x2>; interrupt-parent = <&mpic>; dfsrr; hwmon@48 { compatible = "national,lm73"; reg = <0x49>; }; rtc@68 { compatible = "rtc-m41t80,m41t82"; reg = <0x68>; }; lm90@4C { compatible = "lm90,adt7461"; reg = <0x4C>; }; }; i2c@3100 { #address-cells = <1>; #size-cells = <0>; cell-index = <1>; compatible = "fsl-i2c"; reg = <0x3100 0x100>; interrupts = <43 0x2>; interrupt-parent = <&mpic>; dfsrr; sfp@50 { compatible = "sfp_teste,sfp_teste"; reg = <0x50>; }; bcm56334@44{ compatible = "bcm56334,bcm56334"; reg = <0x44>; }; }; spi@7000 { cell-index = <0>; #address-cells = <1>; #size-cells = <0>; compatible = "fsl,mpc8536-espi"; reg = <0x7000 0x1000>; interrupts = <59 0x2>; interrupt-parent = <&mpic>; fsl,espi-num-chipselects = <4>; mode = "cpu"; }; dma@21300 { #address-cells = <1>; #size-cells = <1>; compatible = "fsl,mpc8536-dma", "fsl,eloplus-dma"; reg = <0x21300 4>;
Re: sdhc/mpc8536 - SDCard always detected like read-only
I will try address the issue in details. When I insert the SDCard, the same is detect like read-only: mmcblk0: mmc0:b368 NCard 966 MiB (ro) mmcblk0: mmc0: starting CMD18 arg flags 00b5 mmc0: blksz 512 blocks 8 flags 0200 tsac 100 ms nsac 0 mmc0: CMD12 arg flags 049d sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001 sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001 mmc0: req done (CMD18): 0: 0900 mmc0: 4096 bytes transferred: 0 mmc0: (CMD12): 0: 0b00 p1 So, I just can mount the filesystem read-only. I can read the fat32 without problems. I tested your sugestion. I used sdhci,wp-inverted in my dtb. This changed the behavior. Now the SDCard is detected without the read-only flag: mmcblk0: mmc0:b368 NCard 966 MiB mmcblk0: mmc0: starting CMD18 arg flags 00b5 mmc0: blksz 512 blocks 8 flags 0200 tsac 100 ms nsac 0 mmc0: CMD12 arg flags 049d sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001 sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001 mmc0: req done (CMD18): 0: 0900 mmc0: 4096 bytes transferred: 0 mmc0: (CMD12): 0: 0b00 p1 And, I can mount a rw filesystem: #mount /dev/mmcblock1 /mnt #cat /proc/mounts ... /dev/mmcblock1 /mnt vfat rw,relatime,fmask=,dmask=,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0 ... So, I can copy files to the mounted SDCard. But, When I try to umount I see the following error mensagens: #cp /etc/shadow /mnt #ls /mnt shadow #umount /mnt mmc0: Timeout waiting for hardware interrupt. mmcblk0: error -110 transferring data, sector 5944, nr 1, card status 0x900 end_request: I/O error, dev mmcblk0, sector 5944 mmc0: Timeout waiting for hardware interrupt. mmcblk0: error -110 transferring data, sector 5936, nr 1, card status 0x900 end_request: I/O error, dev mmcblk0, sector 5936 Buffer I/O error on device mmcblk0p1, logical block 3888 mmc0: Timeout waiting for hardware interrupt. mmcblk0: error -110 transferring data, sector 2049, nr 1, card status 0x900 end_request: I/O error, dev mmcblk0, sector 2049 Buffer I/O error on device mmcblk0p1, logical block 1 mmc0: Timeout waiting for hardware interrupt. mmcblk0: error -110 transferring data, sector 2080, nr 1, card status 0x900 end_request: I/O error, dev mmcblk0, sector 2080 ... I think I need the sdhci,wp-inverted in my dtb. But, it appears that more something is necessary. Has someone faced this situation? Thanks by the help until here. Regards, Moratelli Em Qua, 2011-04-06 às 01:48 +0200, Wolfram Sang escreveu: > > sdhci@2e000 { > > compatible = "fsl,mpc8536-esdhc", "fsl,esdhc"; > > reg = <0x2e000 0x1000>; > > interrupts = <72 0x2>; > > interrupt-parent = <&mpic>; > > /* Filled in by U-Boot */ > > clock-frequency = <0>; > > }; > > Hmm, I am not too familiar with those SoCs, yet some 83xx needed > > sdhci,wp-inverted; > > here. Maybe yours, too? Would fit the symptoms. > > Regards, > >Wolfram > ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: sdhc/mpc8536 - SDCard always detected like read-only - SOLVED.
Wolfram, Reading the MPC8536E Chip Errata I saw the SDHC_WP signal polarity is reversed to the silicon revision 1.0. Unfortunately my prototype board is using revision 1.0. So, I asked to my hardware team workaround putting an extra inverter for the SDHC_WP signal. Now its working fine! Thanks, Moratelli Em Qua, 2011-04-06 às 14:18 -0300, Carlos Roberto Moratelli escreveu: > I will try address the issue in details. > > When I insert the SDCard, the same is detect like read-only: > > mmcblk0: mmc0:b368 NCard 966 MiB (ro) > mmcblk0: > mmc0: starting CMD18 arg flags 00b5 > mmc0: blksz 512 blocks 8 flags 0200 tsac 100 ms nsac 0 > mmc0: CMD12 arg flags 049d > sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001 > sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a > sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001 > mmc0: req done (CMD18): 0: 0900 > mmc0: 4096 bytes transferred: 0 > mmc0: (CMD12): 0: 0b00 > p1 > > So, I just can mount the filesystem read-only. I can read the fat32 > without problems. > > I tested your sugestion. I used sdhci,wp-inverted in my dtb. This > changed the behavior. Now the SDCard is detected without the read-only > flag: > > mmcblk0: mmc0:b368 NCard 966 MiB > mmcblk0: > mmc0: starting CMD18 arg flags 00b5 > mmc0: blksz 512 blocks 8 flags 0200 tsac 100 ms nsac 0 > mmc0: CMD12 arg flags 049d > sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001 > sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a > sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0001 > mmc0: req done (CMD18): 0: 0900 > mmc0: 4096 bytes transferred: 0 > mmc0: (CMD12): 0: 0b00 > p1 > > And, I can mount a rw filesystem: > > #mount /dev/mmcblock1 /mnt > #cat /proc/mounts > ... > /dev/mmcblock1 /mnt vfat > rw,relatime,fmask=,dmask=,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro > 0 0 > ... > > So, I can copy files to the mounted SDCard. But, When I try to umount I > see the following error mensagens: > > #cp /etc/shadow /mnt > #ls /mnt > shadow > #umount /mnt > mmc0: Timeout waiting for hardware interrupt. > mmcblk0: error -110 transferring data, sector 5944, nr 1, card status > 0x900 > end_request: I/O error, dev mmcblk0, sector 5944 > mmc0: Timeout waiting for hardware interrupt. > mmcblk0: error -110 transferring data, sector 5936, nr 1, card status > 0x900 > end_request: I/O error, dev mmcblk0, sector 5936 > Buffer I/O error on device mmcblk0p1, logical block 3888 > mmc0: Timeout waiting for hardware interrupt. > mmcblk0: error -110 transferring data, sector 2049, nr 1, card status > 0x900 > end_request: I/O error, dev mmcblk0, sector 2049 > Buffer I/O error on device mmcblk0p1, logical block 1 > mmc0: Timeout waiting for hardware interrupt. > mmcblk0: error -110 transferring data, sector 2080, nr 1, card status > 0x900 > end_request: I/O error, dev mmcblk0, sector 2080 > ... > > I think I need the sdhci,wp-inverted in my dtb. But, it appears that > more something is necessary. > > Has someone faced this situation? > > Thanks by the help until here. > > Regards, > > Moratelli > > > > Em Qua, 2011-04-06 às 01:48 +0200, Wolfram Sang escreveu: > > > sdhci@2e000 { > > > compatible = "fsl,mpc8536-esdhc", "fsl,esdhc"; > > > reg = <0x2e000 0x1000>; > > > interrupts = <72 0x2>; > > > interrupt-parent = <&mpic>; > > > /* Filled in by U-Boot */ > > > clock-frequency = <0>; > > > }; > > > > Hmm, I am not too familiar with those SoCs, yet some 83xx needed > > > > sdhci,wp-inverted; > > > > here. Maybe yours, too? Would fit the symptoms. > > > > Regards, > > > >Wolfram > > > ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Doubt about Linux PCIe infraestructure
Hi, I have a simple doubt about linux PCI/PCIe infraestructure. When I register a PCI driver using pci_register_driver() will the probe function be automatically called or will it just be called if PCI infraestructure match a Vendor and Device id on bus? I am loading a PCI driver that register itself using pci_register_driver() but the probe function isn't called. thanks, Carlos R. Moratelli ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
modprobe problem
Hello, I have a Kernel 2.6.24 running on a custom board based on mpc8313erdb. My filesystem is composed by a read-only squashfs and a read-write jffs2 filesystems. A unionfs is used to unificate the filesystems. Like you know, when a file on my read-only squasfs is modified such file is copied to read-write jffs2 partition by unionfs. So, when you try to read such file again, the modified copy on jffs2 will be used. The kernel modules (.ko) are on squashfs and I am using modprobe to load the kernel modules. THE PROBLEM is when I try load a module using modprobe, this module is copied from squashfs to jffs2 filesystem. But, my intention is not modify the module, just load it. I am supposing that is a problem because the modules are using duplicated space in flash and I don't want to store the modules in jffs2 because the compression is lower. Does someone know why this happend? Thanks, Moratelli ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev