From 433b1b0d75c717d7a563b42423ce63c9a58a07b5 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Mon, 15 Jun 2020 08:50:15 +0200 Subject: docs: misc-devices/c2port.txt: convert to ReST format - Use copyright symbol; - use title markups; - adjust indentation; - mark literal blocks as such. Signed-off-by: Mauro Carvalho Chehab [jc: reverted |copy| change] Link: https://lore.kernel.org/r/b3b2f3f58a9a33f9e8526d4fa36bee305ea4da38.1592203650.git.mchehab+huawei@kernel.org Signed-off-by: Jonathan Corbet --- Documentation/misc-devices/c2port.rst | 94 +++++++++++++++++++++++++++++++++++ Documentation/misc-devices/c2port.txt | 90 --------------------------------- Documentation/misc-devices/index.rst | 1 + 3 files changed, 95 insertions(+), 90 deletions(-) create mode 100644 Documentation/misc-devices/c2port.rst delete mode 100644 Documentation/misc-devices/c2port.txt diff --git a/Documentation/misc-devices/c2port.rst b/Documentation/misc-devices/c2port.rst new file mode 100644 index 000000000000..7e4f6a79418a --- /dev/null +++ b/Documentation/misc-devices/c2port.rst @@ -0,0 +1,94 @@ +.. SPDX-License-Identifier: GPL-2.0 +.. include:: + +=============== +C2 port support +=============== + +(C) Copyright 2007 Rodolfo Giometti + +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 (https://www.silabs.com) +Silicon Laboratories site], see: + +- AN127: FLASH Programming via the C2 Interface at + https://www.silabs.com/Support Documents/TechnicalDocs/an127.pdf + +- C2 Specification at + https://www.silabs.com/pages/DownloadDoc.aspx?FILEURL=Support%20Documents/TechnicalDocs/an127.pdf&src=SearchResults + +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 diff --git a/Documentation/misc-devices/c2port.txt b/Documentation/misc-devices/c2port.txt deleted file mode 100644 index 31351b1a5a1f..000000000000 --- a/Documentation/misc-devices/c2port.txt +++ /dev/null @@ -1,90 +0,0 @@ - C2 port support - --------------- - -(C) Copyright 2007 Rodolfo Giometti - -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 (https://www.silabs.com) -Silicon Laboratories site], see: - -- AN127: FLASH Programming via the C2 Interface at -https://www.silabs.com/Support Documents/TechnicalDocs/an127.pdf - -- C2 Specification at -https://www.silabs.com/pages/DownloadDoc.aspx?FILEURL=Support%20Documents/TechnicalDocs/an127.pdf&src=SearchResults - -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 diff --git a/Documentation/misc-devices/index.rst b/Documentation/misc-devices/index.rst index d2e87f791821..27e268805067 100644 --- a/Documentation/misc-devices/index.rst +++ b/Documentation/misc-devices/index.rst @@ -16,6 +16,7 @@ fit into other categories. ad525x_dpot eeprom + c2port ibmvmc ics932s401 isl29003 -- cgit v1.2.3