Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
boards:bpi [2015/10/06 22:41] – [Banana Pi] darronboards:bpi [2023/11/05 17:41] (current) – [GPIO] darron
Line 11: Line 11:
  
 === GPIO === === GPIO ===
-The board has a RPi compatible GPIO header with 26 pins.+The board has a [[boards:rpi|Raspberry Pi]] compatible GPIO header with 26 pins.
  
 <code> <code>
Line 31: Line 31:
 </code> </code>
  
-This is the relationship between the Banana Pi GPIO, RPi GPIO, the A20 chip I/O and the Linux sysfs interface.+This is the relationship between the Banana Pi IO[[:boards:rpi|RPi]] GPIO, A20 I/O and the Linux sysfs interface.
  
-^Banana Pi IO ^Raspberry Pi GPIO^ A20 I/O^sysfs| +^Banana Pi IO ^ CON3 pin ^ Raspberry Pi GPIO^ A20 I/O^sysfs| 
-| 0 | 17 | I19 | 275 | +| 0 | 11 | 17 | I19 | 275 | 
-| 1 | 18 | H02 | 226 | +| 1 | 12 | 18 | H02 | 226 | 
-| 2 | 27 | I18 | 274 | +| 2 | 13 | 21/27 | I18 | 274 | 
-| 3 | 22 | I17 | 273 | +| 3 | 15 | 22 | I17 | 273 | 
-| 4 | 23 | H20 | 244 | +| 4 | 16 | 23 | H20 | 244 | 
-| 5 | 24 | H21 | 245 | +| 5 | 18 | 24 | H21 | 245 | 
-| 6 | 25 | I16 | 272 | +| 6 | 22 | 25 | I16 | 272 | 
-| 7 | 4  | I03 | 259 |    +| 7 | 7  | 4  | I03 | 259 |    
  
-A ribbon cable may be used to extend the GPIOs. In this instance a female presentation will be given.+The BPi IO designation is also used by WiringPi.
  
 +A ribbon cable may be used to extend the GPIOs. In this instance a female presentation will be given (see picture).
 <code> <code>
   ______________________________________________________   ______________________________________________________
Line 55: Line 56:
 +-------------------------___-------------------------+ +-------------------------___-------------------------+
 </code> </code>
-The naming above is the port and pin of the A20 chip.+The above ribbon header naming is the port and pin for A20 I/O.
  
 <code> <code>
Line 67: Line 68:
 +-------------------------___-------------------------+ +-------------------------___-------------------------+
 </code> </code>
-This numbering above is for sysfs. 
  
 +The above ribbon header numbering is for the Linux sysfs interface.
 +
 +Alternatively, a GPIO extension cable may present male pins as
 +follows.
 +
 +<code>
 +  ______________________________________________________
 + /                                                     /
 ++-----------------------------------------------------+
 +|  0V 267 269 268  3V 273 274 275  0V 259  52  53  3V | 1
 +|                                                     |
 +|                                                     |
 +| 270 266 272  0V 245 244  0V 226 225 224  0V  5V  5V |
 ++-------------------------___-------------------------+
 +</code>
 +
 +
 +
 +=== Pickle Microchip PIC ICSP ===
 +
 +Along with USB serial we can use the BPi GPIOs to program PICMicros using [[projects:pickle|Pickle Microchip PIC ICSP]].
 +
 +Install [[projects:gpio-bb|GPIO bit-bang driver for Linux]].
 +
 +== Low Voltage Programming with VPP at 3V3 ==
 +
 +Low voltage ICSP at 3V3 can be performed directly from the BPi GPIOs.
 +
 +The following connections refer to the BPi GPIO header. Ensure that power is only ever applied from GPIO 3V3 on PIN 1 and never 5V.
 +
 +Single common data I/O connection (BPi or GPIO bit-bang driver)
 +<code>
 + BPi A20                           PICMicro       GPIO header     .pickle
 + =======                           ========       ===========     =======
 +
 + 3V3-------------------------------VDD--+         PIN 1
 +                                        |
 + GND-------------------------------VSS  R1        PIN 6
 +                                        |
 + I14-----------R3-470R-------------VPP--+         PIN 26          VPP=270
 +
 + I10-----------R4-470R-------------PGC            PIN 24          PGC=266
 +
 + I16-----------R5-470R-------------PGD            PIN 22          PGD=272
 +
 + I11-----------R6-470R-------------PGM--R2-+      PIN 23          PGM=267
 +                                           |
 +                                          ///
 +(R1) 10K !MCLR pull-up
 +(R2) 10K where appropriate (PGM is not present on all devices).
 +(R3..R6) 470R.
 +
 +DEVICE=GPIO-BB
 +IFACE=/dev/gpio-bb
 +</code>
 +
 +===Issues===
 +
 +Excessive CPU load can be seen in kernel process
 +`events_freezable_power'
 +
 +This has been seen in Debian BOOKWORM and goes back
 +some time.
 +
 +Add the following to rc.local to solve this
 +
 +<code>
 +rmmod sun4i_gpadc sun4i_gpadc_iio
 +</code>
 +
 +NB blacklisting doesn't appear to work.
 === Resources === === Resources ===
-[[http://www.bananapi.org/p/product.html|What is Banana Pi?]]\\ + 
-[[http://dl.linux-sunxi.org/A20/A20%20user%20manual%20v1.3%2020141010.pdf|A20 User Manual]]\\+[[https://www.armbian.com/bananapi/|Armbian]] 
 [[http://linux-sunxi.org/A20/PIO|A20 I/O ports]] [[http://linux-sunxi.org/A20/PIO|A20 I/O ports]]