-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Linus Torvalds
committed
Nov 20, 2008
1 parent
0e2066f
commit 7874843
Showing
359 changed files
with
10,645 additions
and
2,214 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 604d20554883cf03f888440d58ea7c6d36899839 | ||
refs/heads/master: 3108864e2d70891d30d60af6af256a1b517d7078 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
What: /sys/class/c2port/ | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/ directory will contain files and | ||
directories that will provide a unified interface to | ||
the C2 port interface. | ||
|
||
What: /sys/class/c2port/c2portX | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/ directory is related to X-th | ||
C2 port into the system. Each directory will contain files to | ||
manage and control its C2 port. | ||
|
||
What: /sys/class/c2port/c2portX/access | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/access file enable the access | ||
to the C2 port from the system. No commands can be sent | ||
till this entry is set to 0. | ||
|
||
What: /sys/class/c2port/c2portX/dev_id | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/dev_id file show the device ID | ||
of the connected micro. | ||
|
||
What: /sys/class/c2port/c2portX/flash_access | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/flash_access file enable the | ||
access to the on-board flash of the connected micro. | ||
No commands can be sent till this entry is set to 0. | ||
|
||
What: /sys/class/c2port/c2portX/flash_block_size | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/flash_block_size file show | ||
the on-board flash block size of the connected micro. | ||
|
||
What: /sys/class/c2port/c2portX/flash_blocks_num | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/flash_blocks_num file show | ||
the on-board flash blocks number of the connected micro. | ||
|
||
What: /sys/class/c2port/c2portX/flash_data | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/flash_data file export | ||
the content of the on-board flash of the connected micro. | ||
|
||
What: /sys/class/c2port/c2portX/flash_erase | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/flash_erase file execute | ||
the "erase" command on the on-board flash of the connected | ||
micro. | ||
|
||
What: /sys/class/c2port/c2portX/flash_erase | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/flash_erase file show the | ||
on-board flash size of the connected micro. | ||
|
||
What: /sys/class/c2port/c2portX/reset | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/reset file execute a "reset" | ||
command on the connected micro. | ||
|
||
What: /sys/class/c2port/c2portX/rev_id | ||
Date: October 2008 | ||
Contact: Rodolfo Giometti <giometti@linux.it> | ||
Description: | ||
The /sys/class/c2port/c2portX/rev_id file show the revision ID | ||
of the connected micro. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
00-INDEX | ||
- this file | ||
README.DAC960 | ||
- info on Mylex DAC960/DAC1100 PCI RAID Controller Driver for Linux. | ||
cciss.txt | ||
- info, major/minor #'s for Compaq's SMART Array Controllers. | ||
cpqarray.txt | ||
- info on using Compaq's SMART2 Intelligent Disk Array Controllers. | ||
floppy.txt | ||
- notes and driver options for the floppy disk driver. | ||
nbd.txt | ||
- info on a TCP implementation of a network block device. | ||
paride.txt | ||
- information about the parallel port IDE subsystem. | ||
ramdisk.txt | ||
- short guide on how to set up and use the RAM disk. |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
C2 port support | ||
--------------- | ||
|
||
(C) Copyright 2007 Rodolfo Giometti <giometti@enneenne.com> | ||
|
||
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. | ||
|
||
This program is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
|
||
|
||
|
||
Overview | ||
-------- | ||
|
||
This driver implements the support for Linux of Silicon Labs (Silabs) | ||
C2 Interface used for in-system programming of micro controllers. | ||
|
||
By using this driver you can reprogram the in-system flash without EC2 | ||
or EC3 debug adapter. This solution is also useful in those systems | ||
where the micro controller is connected via special GPIOs pins. | ||
|
||
References | ||
---------- | ||
|
||
The C2 Interface main references are at (http://www.silabs.com) | ||
Silicon Laboratories site], see: | ||
|
||
- AN127: FLASH Programming via the C2 Interface at | ||
http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Small_Form_Factor/en/an127.pdf, and | ||
|
||
- C2 Specification at | ||
http://www.silabs.com/public/documents/tpub_doc/spec/Microcontrollers/en/C2spec.pdf, | ||
|
||
however it implements a two wire serial communication protocol (bit | ||
banging) designed to enable in-system programming, debugging, and | ||
boundary-scan testing on low pin-count Silicon Labs devices. Currently | ||
this code supports only flash programming but extensions are easy to | ||
add. | ||
|
||
Using the driver | ||
---------------- | ||
|
||
Once the driver is loaded you can use sysfs support to get C2port's | ||
info or read/write in-system flash. | ||
|
||
# ls /sys/class/c2port/c2port0/ | ||
access flash_block_size flash_erase rev_id | ||
dev_id flash_blocks_num flash_size subsystem/ | ||
flash_access flash_data reset uevent | ||
|
||
Initially the C2port access is disabled since you hardware may have | ||
such lines multiplexed with other devices so, to get access to the | ||
C2port, you need the command: | ||
|
||
# echo 1 > /sys/class/c2port/c2port0/access | ||
|
||
after that you should read the device ID and revision ID of the | ||
connected micro controller: | ||
|
||
# cat /sys/class/c2port/c2port0/dev_id | ||
8 | ||
# cat /sys/class/c2port/c2port0/rev_id | ||
1 | ||
|
||
However, for security reasons, the in-system flash access in not | ||
enabled yet, to do so you need the command: | ||
|
||
# echo 1 > /sys/class/c2port/c2port0/flash_access | ||
|
||
After that you can read the whole flash: | ||
|
||
# cat /sys/class/c2port/c2port0/flash_data > image | ||
|
||
erase it: | ||
|
||
# echo 1 > /sys/class/c2port/c2port0/flash_erase | ||
|
||
and write it: | ||
|
||
# cat image > /sys/class/c2port/c2port0/flash_data | ||
|
||
after writing you have to reset the device to execute the new code: | ||
|
||
# echo 1 > /sys/class/c2port/c2port0/reset |
Oops, something went wrong.