{"repo":"jclark/rpi-cm4-ptp-guide","free":true,"listed":false,"github":"https://github.com/jclark/rpi-cm4-ptp-guide","clone":"git clone https://github.com/jclark/rpi-cm4-ptp-guide.git","description":"Guide to using the hardware PTP support in the Raspberry Pi CM4 and CM5","language":"Shell","stars":175,"topics":["ptp","raspberry-pi"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"Guide to using the hardware PTP support in the Raspberry Pi CM4 and CM5 The Raspberry Pi Compute Module 4 (CM4) and Compute Module 5 (CM5) have hardware support for the Precision Time Protocol (PTP). This repository was a guide to how to use this to provide an accurate source of time within your local network. Based on my experience with the approach in this repository, I developed SatPulse, which provides a much better solution. This guide accordingly now links mainly to pages on the SatPulse web site. Although the CM4/CM5 do not have an Ethernet jack, they do have an Ethernet PHY, meaning that Ethernet functionality requires only wiring up a jack. The PHY is the Broadcom BCM54210PE, which has support for PTP. Linux kernel support for this was added in 2022, as discussed in https://github.com/raspberrypi/linux/issues/4151. This support has now been merged into the mainline Linux kernel. The PTP support involves the Ethernet PHY having its own clock, called the PTP hardware clock (PHC), and being able to use this clock to timestamp incoming and outgoing network packets. This enables the CM4/CM5 to make use of PTP, but it is not by itself particularly exciting: similar functionality is available on many NICs. The exciting part is that the CM4/CM5 provides a pin that allows the PHC to be synchronized with an external pulse per second (PPS) signal. When this pin is connected to the PPS output of a GPS receiver, the CM4/CM5 can provide a highly accurate source of time for PTP wit","default_branch":null,"files":null,"tree":[],"storefront":"/r/jclark","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jclark/rpi-cm4-ptp-guide/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}