Dokumentasi Teknis: Peta Alokasi GPIO 0–53 (BCM2835) pada Raspberry Pi 1 Model B

Disusun oleh: Reza Ervani bin Asmanu

Abstrak

Sistem pada Chip (System on Chip / SoC) Broadcom BCM2835 yang digunakan pada Raspberry Pi 1 menyediakan total 54 jalur General Purpose Input/Output (GPIO). Meskipun demikian, tidak seluruh jalur tersebut diekspos ke antarmuka fisik (header) yang dapat diakses pengguna. Sebagian jalur didedikasikan secara internal untuk fungsi sistem vital seperti antarmuka kartu SD, indikator LED, dan manajemen daya.

Dokumen ini memetakan alokasi fungsi untuk GPIO 0 hingga GPIO 53 secara spesifik untuk Raspberry Pi 1 Model B (Revisi 2). Pemahaman terhadap peta alokasi ini krusial dalam pengembangan sistem operasi bare metal untuk menghindari konflik penggunaan sumber daya perangkat keras.

Legenda Status Pin

Tabel di bawah menggunakan simbol indikator berikut untuk menjelaskan status aksesibilitas setiap register GPIO:

  • HEADER P1: Jalur tersedia pada header utama 26-pin. Aman untuk penggunaan I/O umum.
  • ⚠️ HEADER P5: Jalur tersedia pada header tambahan P5 (memerlukan penyolderan pada Board Revisi 2).
  • 🔒 INTERNAL: Jalur terhubung permanen ke komponen on-board (misal: LED, Audio). Tidak untuk penggunaan eksternal.
  • CRITICAL: Jalur vital sistem (misal: SD Card Interface). Modifikasi pada register ini dapat menyebabkan instabilitas atau kegagalan sistem.

Tabel 1: GPIO 0 s.d. GPIO 27 (Bank 0 – Low)

Rentang register ini mencakup sebagian besar pin yang diekspos ke pengguna serta fungsi periferal utama.

Nomor Register (BCM)Fungsi Alternatif UtamaLokasi Fisik / StatusCatatan Teknis
GPIO 0I2C0 SDAHeader P1 (Pin 3)*Hanya pada Rev 1. Pada Rev 2, jalur ini digantikan oleh GPIO 2.
GPIO 1I2C0 SCLHeader P1 (Pin 5)*Hanya pada Rev 1. Pada Rev 2, jalur ini digantikan oleh GPIO 3.
GPIO 2I2C1 SDAHeader P1 (Pin 3)Jalur Data I2C Utama (Pull-up resistor on-board).
GPIO 3I2C1 SCLHeader P1 (Pin 5)Jalur Clock I2C Utama (Pull-up resistor on-board).
GPIO 4GPCLK0Header P1 (Pin 7)General Purpose Clock.
GPIO 5⛔ ReservedDigunakan untuk interkoneksi sistem internal.
GPIO 6⛔ ReservedDigunakan untuk interkoneksi sistem internal.
GPIO 7SPI0 CE1Header P1 (Pin 26)Chip Enable 1 untuk antarmuka SPI.
GPIO 8SPI0 CE0Header P1 (Pin 24)Chip Enable 0 untuk antarmuka SPI.
GPIO 9SPI0 MISOHeader P1 (Pin 21)SPI Master In Slave Out.
GPIO 10SPI0 MOSIHeader P1 (Pin 19)SPI Master Out Slave In.
GPIO 11SPI0 SCLKHeader P1 (Pin 23)SPI Serial Clock.
GPIO 12⛔ Reserved
GPIO 13⛔ Reserved
GPIO 14UART TXDHeader P1 (Pin 8)Serial Console Transmit. Wajib untuk debugging Kernel.
GPIO 15UART RXDHeader P1 (Pin 10)Serial Console Receive. Wajib untuk debugging Kernel.
GPIO 16STATUS LED🔒 INTERNAL (ACT)Terhubung ke LED Hijau (OK/ACT). Logika: Active LOW.
GPIO 17Generic I/OHeader P1 (Pin 11)I/O standar. Tidak memiliki fungsi pull-up/down bawaan yang kuat.
GPIO 18PCM_CLK / PWM0Header P1 (Pin 12)Mendukung Hardware PWM dan Audio I2S.
GPIO 19⛔ Reserved
GPIO 20⛔ Reserved
GPIO 21PCM_DOUTHeader P1 (Pin 13)*Hanya pada Rev 1. Pada Rev 2 digantikan GPIO 27.
GPIO 22Generic I/OHeader P1 (Pin 15)I/O standar.
GPIO 23Generic I/OHeader P1 (Pin 16)I/O standar. Sering tertukar dengan nomor pin fisik 16.
GPIO 24Generic I/OHeader P1 (Pin 18)I/O standar.
GPIO 25Generic I/OHeader P1 (Pin 22)I/O standar.
GPIO 26⛔ Reserved
GPIO 27Generic I/OHeader P1 (Pin 13)Menggantikan GPIO 21 pada Board Revisi 2.

Tabel 2: GPIO 28 s.d. GPIO 53 (Bank 0 High & Bank 1)

Rentang register ini didominasi oleh fungsi internal sistem dan antarmuka penyimpanan (SD Card).

Nomor Register (BCM)Fungsi Alternatif UtamaLokasi Fisik / StatusCatatan Teknis
GPIO 28I2C0 SDA⚠️ Header P5 (Pin 3)Header tambahan (Rev 2). Memerlukan penyolderan.
GPIO 29I2C0 SCL⚠️ Header P5 (Pin 4)Header tambahan (Rev 2).
GPIO 30⚠️ Header P5 (Pin 5)Header tambahan. Umumnya digunakan untuk System Reset.
GPIO 31⚠️ Header P5 (Pin 6)Header tambahan.
GPIO 32-39⛔ ReservedJalur internal sistem SoC.
GPIO 40PWM0🔒 Jack AudioOutput Audio Analog (Kanan/Right).
GPIO 41⛔ Reserved
GPIO 42⛔ Reserved
GPIO 43⛔ Reserved
GPIO 44GPCLK1⛔ ReservedAlokasi untuk Clock Ethernet/USB Controller.
GPIO 45PWM1🔒 Jack AudioOutput Audio Analog (Kiri/Left).
GPIO 46🔒 INTERNALDeteksi HDMI Hotplug.
GPIO 47🔒 INTERNALDeteksi Kartu SD (Card Detect).
GPIO 48SD CLKSD CARD SLOTClock Kartu SD. Intervensi dilarang.
GPIO 49SD CMDSD CARD SLOTCommand Kartu SD. Intervensi dilarang.
GPIO 50SD DAT0SD CARD SLOTData 0 Kartu SD. Intervensi dilarang.
GPIO 51SD DAT1SD CARD SLOTData 1 Kartu SD. Intervensi dilarang.
GPIO 52SD DAT2SD CARD SLOTData 2 Kartu SD. Intervensi dilarang.
GPIO 53SD DAT3SD CARD SLOTData 3 Kartu SD. Intervensi dilarang.

Catatan Teknis Signifikan

Berdasarkan pemetaan di atas, terdapat beberapa poin teknis yang perlu diperhatikan dalam pengembangan tingkat rendah (low-level development):

1. Konfigurasi Indikator Aktivitas (ACT LED)

Pada Raspberry Pi 1, indikator aktivitas (ACT/OK LED) dikendalikan oleh GPIO 16.

  • Akses: Register GPSET0 dan GPCLR0.
  • Logika: LED ini menggunakan konfigurasi Active LOW. Menulis nilai 0 (Clear) akan menyalakan LED, sedangkan menulis nilai 1 (Set) akan mematikannya.
  • Perbedaan Model: Lokasi ini spesifik untuk Model B. Pada model Raspberry Pi Zero atau Raspberry Pi 3, ACT LED dipindahkan ke GPIO 47 atau GPIO 29.

2. Integritas Jalur Kartu SD (GPIO 48-53)

Register GPIO 48 hingga 53 didedikasikan sepenuhnya untuk komunikasi antara SoC BCM2835 dengan kartu microSD (antarmuka EMMC).

  • Mengubah mode fungsi (Alternative Function) pada pin-pin ini saat sistem operasi sedang berjalan akan memutus koneksi ke media penyimpanan utama.
  • Hal ini akan menyebabkan sistem mengalami hang/freeze dan berpotensi merusak struktur data (corruption) pada kartu SD.

3. Diferensiasi Revisi Papan (Rev 1 vs Rev 2)

Peta di atas mengacu pada Board Revisi 2 (yang paling umum beredar). Perbedaan utama dengan Revisi 1 terletak pada alokasi I2C (GPIO 0/1 vs GPIO 2/3) dan GPIO 21 yang digantikan oleh GPIO 27. Pengembang wajib memverifikasi revisi papan sebelum melakukan pemrograman perangkat keras untuk menghindari kesalahan pengalamatan pin.