xref: /openbmc/linux/Documentation/driver-api/gpio/bt8xxgpio.rst (revision c95baf12f5077419db01313ab61c2aac007d40cd)
15f07224eSJonathan Neuschäfer===================================================================
25f07224eSJonathan NeuschäferA driver for a selfmade cheap BT8xx based PCI GPIO-card (bt8xxgpio)
35f07224eSJonathan Neuschäfer===================================================================
45f07224eSJonathan Neuschäfer
5*95873fbaSJonathan NeuschäferFor advanced documentation, see https://bues.ch/cms/unmaintained/btgpio.html
65f07224eSJonathan Neuschäfer
75f07224eSJonathan NeuschäferA generic digital 24-port PCI GPIO card can be built out of an ordinary
85f07224eSJonathan NeuschäferBrooktree bt848, bt849, bt878 or bt879 based analog TV tuner card. The
95f07224eSJonathan NeuschäferBrooktree chip is used in old analog Hauppauge WinTV PCI cards. You can easily
105f07224eSJonathan Neuschäferfind them used for low prices on the net.
115f07224eSJonathan Neuschäfer
125f07224eSJonathan NeuschäferThe bt8xx chip does have 24 digital GPIO ports.
135f07224eSJonathan NeuschäferThese ports are accessible via 24 pins on the SMD chip package.
145f07224eSJonathan Neuschäfer
155f07224eSJonathan Neuschäfer
165f07224eSJonathan NeuschäferHow to physically access the GPIO pins
175f07224eSJonathan Neuschäfer======================================
185f07224eSJonathan Neuschäfer
195f07224eSJonathan NeuschäferThe are several ways to access these pins. One might unsolder the whole chip
205f07224eSJonathan Neuschäferand put it on a custom PCI board, or one might only unsolder each individual
215f07224eSJonathan NeuschäferGPIO pin and solder that to some tiny wire. As the chip package really is tiny
225f07224eSJonathan Neuschäferthere are some advanced soldering skills needed in any case.
235f07224eSJonathan Neuschäfer
245f07224eSJonathan NeuschäferThe physical pinouts are drawn in the following ASCII art.
255f07224eSJonathan NeuschäferThe GPIO pins are marked with G00-G23::
265f07224eSJonathan Neuschäfer
275f07224eSJonathan Neuschäfer                                           G G G G G G G G G G G G     G G G G G G
285f07224eSJonathan Neuschäfer                                           0 0 0 0 0 0 0 0 0 0 1 1     1 1 1 1 1 1
295f07224eSJonathan Neuschäfer                                           0 1 2 3 4 5 6 7 8 9 0 1     2 3 4 5 6 7
305f07224eSJonathan Neuschäfer           | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
315f07224eSJonathan Neuschäfer           ---------------------------------------------------------------------------
325f07224eSJonathan Neuschäfer         --|                               ^                                     ^   |--
335f07224eSJonathan Neuschäfer         --|                               pin 86                           pin 67   |--
345f07224eSJonathan Neuschäfer         --|                                                                         |--
355f07224eSJonathan Neuschäfer         --|                                                               pin 61 >  |-- G18
365f07224eSJonathan Neuschäfer         --|                                                                         |-- G19
375f07224eSJonathan Neuschäfer         --|                                                                         |-- G20
385f07224eSJonathan Neuschäfer         --|                                                                         |-- G21
395f07224eSJonathan Neuschäfer         --|                                                                         |-- G22
405f07224eSJonathan Neuschäfer         --|                                                               pin 56 >  |-- G23
415f07224eSJonathan Neuschäfer         --|                                                                         |--
425f07224eSJonathan Neuschäfer         --|                           Brooktree 878/879                             |--
435f07224eSJonathan Neuschäfer         --|                                                                         |--
445f07224eSJonathan Neuschäfer         --|                                                                         |--
455f07224eSJonathan Neuschäfer         --|                                                                         |--
465f07224eSJonathan Neuschäfer         --|                                                                         |--
475f07224eSJonathan Neuschäfer         --|                                                                         |--
485f07224eSJonathan Neuschäfer         --|                                                                         |--
495f07224eSJonathan Neuschäfer         --|                                                                         |--
505f07224eSJonathan Neuschäfer         --|                                                                         |--
515f07224eSJonathan Neuschäfer         --|                                                                         |--
525f07224eSJonathan Neuschäfer         --|                                                                         |--
535f07224eSJonathan Neuschäfer         --|                                                                         |--
545f07224eSJonathan Neuschäfer         --|                                                                         |--
555f07224eSJonathan Neuschäfer         --|                                                                         |--
565f07224eSJonathan Neuschäfer         --|   O                                                                     |--
575f07224eSJonathan Neuschäfer         --|                                                                         |--
585f07224eSJonathan Neuschäfer           ---------------------------------------------------------------------------
595f07224eSJonathan Neuschäfer           | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
605f07224eSJonathan Neuschäfer           ^
615f07224eSJonathan Neuschäfer           This is pin 1
625f07224eSJonathan Neuschäfer
63