5.3 Avoiding PIO (Parallel Input/Output) Conflicts on the SAM9X60-Curiosity Board

The .dtsi file defines all the device's peripherals, but conflicts may arise between two peripherals when related to the specific board configuration. These conflicts can be identified by analyzing the board’s schematic, as illustrated below.

Figure 5-7. SAM9X60-Curiosity PIO A Schematic

The schematic shows that CAN0 shares the same pin configuration as DBGU on pins PA9 and PA10. Therefore, to use DBGU as the serial console, CAN0 must be disabled in the board-specific Device Tree Source (.dts) file, and only the DBGU should be enabled.

Figure 5-8. CAN Structure in .dtsi File
Figure 5-9. DBGU Structure in .dtsi File

The following figure shows modifications that override the .dtsi file by disabling CAN0 and enabling only the DBGU functionality.

Important: These peripherals cannot be used simultaneously, as only one can be active at a time.
Figure 5-10. CAN0 and DBGU in the SAM9X60-Curiosity .dts File

Both CAN0 and DBGU are assigned the same pins in the pin configuration under the atmel,pins property. To use CAN0, set the status of CAN0 to 'okay' in the .dts file and set the status of DBGU to 'disabled'.

Figure 5-11. pinctrl Structure in the SAM9X60-Curiosity .dts File