Raspberry Pi Compute Module 4 SODIMM

Transcription

Raspberry Pi Compute Module 4 SODIMMColophon 2022 Raspberry Pi LtdThe documentation around the Raspberry Pi Compute Module 4 SODIMM is licensed under a Creative CommonsAttribution-NoDerivatives 4.0 International (CC BY-ND).build-date: 2022-06-09build-version: githash: 66d4b42-dirty IMPORTANTThe Raspberry Pi Compute Module 4 SODIMM (CM4S) is intended for specific industrial customers migrating fromCompute Module 3 or Compute Module 3 and is not for general sale. For new customers who are designingproducts, we recommend using Raspberry Pi Compute Module 4.Legal disclaimer noticeTECHNICAL AND RELIABILITY DATA FOR RASPBERRY PI PRODUCTS (INCLUDING DATASHEETS) AS MODIFIED FROMTIME TO TIME (“RESOURCES”) ARE PROVIDED BY RASPBERRY PI LTD (“RPL”) "AS IS" AND ANY EXPRESS OR IMPLIEDWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESSFOR A PARTICULAR PURPOSE ARE DISCLAIMED. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN NOEVENT SHALL RPL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIALDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHERIN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OFTHE USE OF THE RESOURCES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.RPL reserves the right to make any enhancements, improvements, corrections or any other modifications to theRESOURCES or any products described in them at any time and without further notice.The RESOURCES are intended for skilled users with suitable levels of design knowledge. Users are solely responsible fortheir selection and use of the RESOURCES and any application of the products described in them. User agrees toindemnify and hold RPL harmless against all liabilities, costs, damages or other losses arising out of their use of theRESOURCES.RPL grants users permission to use the RESOURCES solely in conjunction with the Raspberry Pi products. All other useof the RESOURCES is prohibited. No licence is granted to any other RPL or other third party intellectual property right.HIGH RISK ACTIVITIES. Raspberry Pi products are not designed, manufactured or intended for use in hazardousenvironments requiring fail safe performance, such as in the operation of nuclear facilities, aircraft navigation orcommunication systems, air traffic control, weapons systems or safety-critical applications (including life supportsystems and other medical devices), in which the failure of the products could lead directly to death, personal injury orsevere physical or environmental damage (“High Risk Activities”). RPL specifically disclaims any express or impliedwarranty of fitness for High Risk Activities and accepts no liability for use or inclusions of Raspberry Pi products in HighRisk Activities.Raspberry Pi products are provided subject to RPL’s Standard Terms. RPL’s provision of the RESOURCES does notexpand or otherwise modify RPL’s Standard Terms including but not limited to the disclaimers and warrantiesexpressed in them.Legal disclaimer notice1

Raspberry Pi Compute Module 4 SODIMMTable of contentsColophon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Legal disclaimer notice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2. Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32. Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1. USB 2.0 (high speed) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2. GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.1. Alternative function assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3. HDMI 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4. CSI-2 (MIPI serial camera) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.5. DSI (MIPI serial display) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.6. SDIO/eMMC (CM4SLite only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.7. Composite (TV out). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.8. RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.9. EMMC DISABLE N. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.10. EMMC EN N 1V8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.11. EEPROM nWP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103. Electrical and mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.1. Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2. Thermal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3. Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124. Pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.1. Differential pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.1.1. 100Ω differential pair signal lengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.1.2. 90Ω differential pair signal lengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225. Power. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.1. Power-up sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.2. Power-down sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.3. Power consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Appendix A: Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24rpi-eeprom-update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24EEPROM write-protect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Appendix B: Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Ordering codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Table of contents2

Raspberry Pi Compute Module 4 SODIMMChapter 1. Introduction1.1. IntroductionFigure 1. TheRaspberry Pi ComputeModule 4 SODIMM(CM4S).The Raspberry Pi Compute Module 4 SODIMM (CM4S) is a System on Module (SoM) containing processor, memory,eMMC Flash, and supporting power circuitry. These modules allow a designer to leverage the Raspberry Pi hardwareand software stack in their own custom systems and form factors. In addition, these modules have extra GPIO over andabove what is available on the Raspberry Pi boards, opening up more options for the designer.The design of the CM4S is loosely based on the Raspberry Pi 4 Model B, and for cost-sensitive applications it can besupplied without the eMMC fitted; this version is called the Raspberry Pi Compute Module 4 SODIMM Lite (CM4SLite).The CM4S is in the same form factor as the older Raspberry Pi Compute 3 and 3 modules, which are mechanicallycompatible with DDR2-SODIMM. NOTEThe CM4S SoC has a slightly increased z-height over the Raspberry Pi Compute Module 3. NOTEUnless otherwise stated, for this document CM4S also refers to CM4SLite.1.2. FeaturesKey features of the CM4S are as follows: Broadcom BCM2711, quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz DDR2-SODIMM-mechanically-compatible form factor H.265 (HEVC) (upto 4Kp60 decode), H.264 (upto 1080p60 decode, 1080p30 encode) OpenGL ES 3.0 graphics 1GB LPDDR4-3200 SDRAM with ECC (see Appendix B) Options for 0GB (CM4SLite), 8GB, 16GB, or 32GB eMMC flash memory (see Appendix B) Peak eMMC bandwidth 100MBps (four times faster than previous Compute Modules)1.1. Introduction3

Raspberry Pi Compute Module 4 SODIMM 1 USB 2.0 port (high speed) 46 GPIO supporting either 1.8V or 3.3V signalling and peripheral options: Up to 6 UART Up to 6 I2C Up to 6 SPI 1 SDIO interface 1 DPI (parallel RGB display) 1 PCM Up to 2 PWM channels Up to 3 GPCLK outputs 1 HDMI 2.0 ports (up to 4Kp60 supported) MIPI DSI: 1 2-lane MIPI DSI display port 1 4-lane MIPI DSI display port MIPI CSI-2: 1 2-lane MIPI CSI camera port 1 4-lane MIPI CSI camera port 1 SDIO 2.0 (CM4SLite) IMPORTANTThe Raspberry Pi Compute Module 4 SODIMM (CM4S) is intended for specific industrial customers migrating fromCompute Module 3 or Compute Module 3 and is not for general sale. For new customers who are designingproducts, we recommend using Raspberry Pi Compute Module 4.1.2. Features4

Raspberry Pi Compute Module 4 SODIMMChapter 2. Interfaces2.1. USB 2.0 (high speed)The USB 2.0 interface supports up to 480Mbps signalling. The differential pair should be routed as a 90Ω differentialpair. The length of the P/N signals should ideally be matched to better than 0.15mm. TIPThe firmware disables the USB interface by default to save power. In recent versions of Raspberry Pi OS (Bullseye) itis automatically enabled by the otg mode 1 setting in the config.txt file. If you are using a different OS, or an olderversion of Raspberry Pi OS, you will need to add this to config.txt to enable the USB interface. NOTEThe port is capable of being used as a true USB On-The-Go (OTG) port. While there is no official documentation,some users have had success making this work. The USB OTGID pin is used to select between USB host and devicethat is typically wired to the ID pin of a Micro USB connector. To use this functionality it must be enabled in the OS. Ifusing either as a fixed slave or fixed master, please tie the USB OTGID pin to ground.2.2. GPIOThere are 46 pins available for general purpose I/O (GPIO); 28 of them correspond to the GPIO pins on the Raspberry Pi4 Model B 40-pin header. The 46 pins have access to internal peripherals: SMI, DPI, I2C, PWM, SPI, and UART. TheBCM2711 ARM peripherals book describes these features in detail, along with the multiplexing options available. Thedrive strength and slew rate should ideally be set as low as possible to reduce any EMC issues.The BCM2711 GPIO bank0 is powered by GPIO0-27 VDD, and GPIO bank1 is powered by GPIO28-45 VDD. These can either beconnected to 1.8V for 1.8V signalling GPIO, or 3.3V for 3.3V signalling. You should keep the load on each GPIO bankto below 50mA in total. GPIO0-27 VDD and GPIO28-45 VDD must be powered for the CM4S to start up correctly. NOTEIf GPIO0 or GPIO1 are not used for HAT id purposes, then to prevent the firmware from checking to see if there is aHAT EEPROM available, add force eeprom read 0 and disable poe fan 1 to the config.txt file.2.2.1. Alternative function assignmentsUp to six alternative functions are available. The BCM2711 ARM peripherals book describes these features in detail. Thetable below gives a quick overview.Table 1. GPIO pinsalternative GPIO0HighSDA0SA5PCLKSPI3 CE0 NTXD2SDA6GPIO1HighSCL0SA4DESPI3 MISORXD2SCL6GPIO2HighSDA1SA3LCD VSYNCSPI3 MOSICTS2SDA3GPIO3HighSCL1SA2LCD HSYNCSPI3 SCLKRTS2SCL32.1. USB 2.0 (high speed)5

Raspberry Pi Compute Module 4 LK0SA1DPI D0SPI4 CE0 NTXD3SDA3GPIO5HighGPCLK1SA0DPI D1SPI4 MISORXD3SCL3GPIO6HighGPCLK2SOE N / SEDPI D2SPI4 MOSICTS3SDA4GPIO7HighSPI0 CE1 NSWE N /DPI D3SPI4 SCLKRTS3SCL4SRW NGPIO8HighSPI0 CE0 NSD0DPI D4BSCSL / CE NTXD4SDA4GPIO9LowSPI0 MISOSD1DPI D5BSCSL / MISO RXD4SCL4GPIO10LowSPI0 MOSISD2DPI D6BSCSL SDA /CTS4SDA5RTS4SCL5MOSIGPIO11LowSPI0 SCLKSD3DPI D7BSCSL SCL /SCLKGPIO12LowPWM0 0SD4DPI D8SPI5 CE0 NTXD5SDA5GPIO13LowPWM0 1SD5DPI D9SPI5 MISORXD5SCL5GPIO14LowTXD0SD6DPI D10SPI5 MOSICTS5TXD1GPIO15LowRXD0SD7DPI D11SPI5 SCLKRTS5RXD1GPIO16Low reserved SD8DPI D12CTS0SPI1 CE2 NCTS1GPIO17Low reserved SD9DPI D13RTS0SPI1 CE1 NRTS1GPIO18LowPCM CLKSD10DPI D14SPI6 CE0 NSPI1 CE0 NPWM0 0GPIO19LowPCM FSSD11DPI D15SPI6 MISOSPI1 MISOPWM0 1GPIO20LowPCM DINSD12DPI D16SPI6 MOSISPI1 MOSIGPCLK0GPIO21LowPCM DOUTSD13DPI D17SPI6 SCLKSPI1 SCLKGPCLK1GPIO22LowSD0 CLKSD14DPI D18SD1 CLKARM TRSTSDA6GPIO23LowSD0 CMDSD15DPI D19SD1 CMDARM RTCKSCL6GPIO24LowSD0 DAT0SD16DPI D20SD1 DAT0ARM TDOSPI3 CE1 NGPIO25LowSD0 DAT1SD17DPI D21SD1 DAT1ARM TCKSPI4 CE1 NGPIO26LowSD0 DAT2 reserved DPI D22SD1 DAT2ARM TDISPI5 CE1 NGPIO27LowSD0 DAT3 reserved DPI D23SD1 DAT3ARM TMSSPI6 CE1 NGPIO28-SDA0SA5PCM CLK reserved MII A RX ERR RGMII MDIOGPIO29-SCL0SA4PCM FS reserved MII A TX ERR RGMII MDCGPIO30Low reserved SA3PCM DINCTS0MII A CRSCTS1GPIO31Low reserved SA2PCM DOUTRTS0MII A COLRTS1GPIO32LowGPCLK0SA1 reserved TXD0SD CARD PRE TXD1SGPIO33Low reserved SA0 reserved RXD0SD CARD WRRXD1PROTGPIO34HighGPCLK0SOE N / SEGPIO35HighSPI0 CE1 NSWE N /SRW N2.2. GPIO reserved SD1 CLKSD CARD LED RGMII IRQSD1 CMDRGMII STARTSTOP6

Raspberry Pi Compute Module 4 I0 CE0 NSD0TXD0SD1 DAT0RGMII RX OKMII A RX ERRGPIO37LowSPI0 MISOSD1RXD0SD1 DAT1RGMII MDIOMII A TX ERRGPIO38LowSPI0 MOSISD2RTS0SD1 DAT2RGMII MDCMII A CRSGPIO39LowSPI0 SCLKSD3CTS0SD1 DAT3RGMII IRQMII A COLGPIO40LowPWM1 0SD4SD1 DAT4SPI0 MISOTXD1GPIO41LowPWM1 1SD5 reserved SD1 DAT5SPI0 MOSIRXD1GPIO42LowGPCLK1SD6 reserved SD1 DAT6SPI0 SCLKRTS1GPIO43LowGPCLK2SD7 reserved SD1 DAT7SPI0 CE0 NCTS1GPIO44-GPCLK1SDA0SDA1 reserved SPI0 CE1 NSD CARD VOLTGPIO45-PWM0 1SCL0SCL1 reserved SPI0 CE2 NSD CARD PWR0Special function legend:Table 2. GPIO pinsalternative functionlegend2.2. GPIONameFunctionSDA0BSC master 0 data lineaSCL0BSC master 0 clock lineSDAxBSC master 1,3,4,5,6 data linebSCLxBSC master 1,3,4,5,6 clock lineGPCLKxGeneral purpose clock 0,1,2SPIx CE2 NSPI 0,3,4,5,6 chip select 2SPIx CE1 NSPI 0,3,4,5,6 chip select 1SPIx CE0 NSPI 0,3,4,5,6 chip select 0SPIx MISOSPI 0,3,4,5,6 MISOSPIx MOSISPI 0,3,4,5,6 MOSISPIx SCLKSPI 0,3,4,5,6 serial clockPWMx 0PWM 0,1 channel 0PWMx 1PWM 0,1 channel 1TXDxUART 0,2,3,4,5 transmit dataRXDxUART 0,2,3,4,5 receive dataCTSxUART 0,2,3,4,5 clear to sendRTSxUART 0,2,3,4,5 request to sendPCM CLKPCM clockPCM FSPCM frame syncPCM DINPCM data inPCM DOUTPCM data outSAxSecondary mem address bus7

Raspberry Pi Compute Module 4 SODIMMaNameFunctionSOE N / SESecondary mem controlsSWE N / SRW NSecondary mem controlsSDxSecondary mem data busBSCSL SDA / MOSIBSC slave data, SPI slave MOSIBSCSL SCL / SCLKBSC slave clock, SPI slave clockBSCSL - / MISOBSC not used , SPI MISOBSCSL - / CE NBSC not used , SPI CSnSPI1 CE2 NSPI 1 chip select 2 cSPI1 CE1 NSPI 1 chip select 1SPI1 CE0 NSPI 1 chip select 0SPI1 MISOSPI 1 MISOSPI1 MOSISPI 1 MOSISPI1 SCLKSPI 1 serial clockTXD1UART 1 transmit dataRXD1UART 1 receive dataCTS1UART 1 clear to sendRTS1UART 1 request To sendARM TRSTARM JTAG resetARM RTCKARM JTAG return clockARM TDOARM JTAG data outARM TCKARM JTAG clockARM TDIARM JTAG data inARM TMSARM JTAG mode selectPCLKDisplay parallel interfaceDEDisplay parallel interfaceLCD VSYNCDispla

The design of the CM4S is loosely based on the Raspberry Pi 4 Model B, and for cost-sensitive applications it can be supplied without the eMMC fitted; this version is called the Raspberry Pi Compute Module 4 SODIMM Lite (CM4SLite). The CM4S is in the same form factor as the older Raspberry Pi Compute 3 and 3 modules, which are mechanically