# RE: direct access to Flash from userland

- List: linuxppc-dev
- 4 messages, 4 authors
- Page: https://ratatoskr.run/linuxppc-dev/2008/09/9445895/t

## RE: direct access to Flash from userland

- From: Fillod Stephane \<hidden\>
- Date: 2008-09-04 12:22:49 
- Message: https://ratatoskr.run/linuxppc-dev/2008/09/9445895.md

```text
Dave Littell wrote:
>I have a CFI Flash device which has some non-CFI commands I need to
>issue from userland.  I've tried mmap() of the mtdblock device, but
that
>only yielded a corrupted Flash as my non-CFI command sequences were
>simply written to Flash.  An attempted mmap() of the character mtd
>device fails the mmap() call.

You should mmap() the /dev/mem device at the physical base address
of your Flash chip. Don't forget to pass O_SYNC to open(), in order
to have a guarded/non cached mapping.

http://www.denx.de/twiki/bin/view/PPCEmbedded/DeviceDrivers#Section_Acce
ssingPeripheralsFromUserSpace

>Is there a way for a userland application to issue non-CFI commands
>directly to a Flash device?  (This is a 2.6.18-based kernel on a AMCC
>PPC440EPx platform.)

I don't know whether there's specific ioctl for such purpose.
Have you tried to read the mtd source? You may also hack the mtd
layer to add your command. Definitely a question for=20
http://www.linux-mtd.infradead.org/mail.html

Regards
--=20
Stephane
```

## Re: direct access to Flash from userland

- From: Arnd Bergmann \<arnd@arndb.de\>
- Date: 2008-09-05 15:58:45 
- Message: https://ratatoskr.run/linuxppc-dev/2008/09/9445911.md

```text
On Thursday 04 September 2008, Fillod Stephane wrote:
> >Is there a way for a userland application to issue non-CFI commands
> >directly to a Flash device? =A0(This is a 2.6.18-based kernel on a AMCC
> >PPC440EPx platform.)
>=20
> I don't know whether there's specific ioctl for such purpose.
> Have you tried to read the mtd source? You may also hack the mtd
> layer to add your command. Definitely a question for=20
> http://www.linux-mtd.infradead.org/mail.html
>=20

There is no ioctl command for sending arbitrary requests to the
flash, but it sounds like something that should be implemented
in the kernel, in mtdchar, depending on what the command does.

What are you actually trying to do with those commands?

	Arnd <><
```

## Re: direct access to Flash from userland

- From: Dave Littell \<hidden\>
- Date: 2008-09-06 03:32:53 
- Message: https://ratatoskr.run/linuxppc-dev/2008/09/9445915.md

```text
Arnd Bergmann wrote:
> On Thursday 04 September 2008, Fillod Stephane wrote:
>>> Is there a way for a userland application to issue non-CFI commands
>>> directly to a Flash device?  (This is a 2.6.18-based kernel on a AMCC
>>> PPC440EPx platform.)
>> I don't know whether there's specific ioctl for such purpose.
>> Have you tried to read the mtd source? You may also hack the mtd
>> layer to add your command. Definitely a question for 
>> http://www.linux-mtd.infradead.org/mail.html
>>
> 
> There is no ioctl command for sending arbitrary requests to the
> flash, but it sounds like something that should be implemented
> in the kernel, in mtdchar, depending on what the command does.
> 
> What are you actually trying to do with those commands?
> 

Hi Arnd,

There are some sector protection options and a user-writable
one-time-programmable section that's larger than the presently
implemented 8-byte area that I need to support.


Thanks,
Dave
```

## Re: direct access to Flash from userland

- From: Ankur Maheshwari \<hidden\>
- Date: 2008-09-08 06:06:56 
- Message: https://ratatoskr.run/linuxppc-dev/2008/09/9445917.md

```text
Dave Littell wrote:
> Arnd Bergmann wrote:
>   
>> On Thursday 04 September 2008, Fillod Stephane wrote:
>>     
>>>> Is there a way for a userland application to issue non-CFI commands
>>>> directly to a Flash device?  (This is a 2.6.18-based kernel on a AMCC
>>>> PPC440EPx platform.)
>>>>         
>>> I don't know whether there's specific ioctl for such purpose.
>>> Have you tried to read the mtd source? You may also hack the mtd
>>> layer to add your command. Definitely a question for http://www.linux-mtd.infradead.org/mail.html
>>>
>>>       
>> There is no ioctl command for sending arbitrary requests to the
>> flash, but it sounds like something that should be implemented
>> in the kernel, in mtdchar, depending on what the command does.
>>
>> What are you actually trying to do with those commands?
>>
>>     
>
> Hi Arnd,
>
> There are some sector protection options and a user-writable
> one-time-programmable section that's larger than the presently
> implemented 8-byte area that I need to support.
>
>
> Thanks,
> Dave
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
>   
Hi Arnd,

You can consider "fw_env" utility (used for changing [read/write] U-boot environment variables from Linux) provided with u-boot source. You still need to enable mtd-char support.
Please check u-boot-source/tools/env directory for details.

thanks,
Ankur
```
