summaryrefslogtreecommitdiff
path: root/nuttx/configs/sama5d3x-ek/include/board.h
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/configs/sama5d3x-ek/include/board.h')
-rw-r--r--nuttx/configs/sama5d3x-ek/include/board.h122
1 files changed, 80 insertions, 42 deletions
diff --git a/nuttx/configs/sama5d3x-ek/include/board.h b/nuttx/configs/sama5d3x-ek/include/board.h
index 59d184906..8cb83570e 100644
--- a/nuttx/configs/sama5d3x-ek/include/board.h
+++ b/nuttx/configs/sama5d3x-ek/include/board.h
@@ -178,56 +178,88 @@
/* PWM. There are no dedicated PWM output pins available to the user for PWM
* testing. Care must be taken because all PWM output pins conflict with some other
- * usage of the pin by other devices:
- *
- * -----+---+---+----+--------------------
- * PWM PIN PER PIO CONFLICTS
- * -----+---+---+----+--------------------
- * PWM0 FI B PC28 SPI1, ISI
- * H B PB0 GMAC
- * B PA20 LCDC, ISI
- * L B PB1 GMAC
- * B PA21 LCDC, ISI
- * -----+---+---+----+--------------------
- * PWM1 FI B PC31 HDMI
- * H B PB4 GMAC
- * B PA22 LCDC, ISI
- * L B PB5 GMAC
- * B PE31 ISI, HDMI
- * B PA23 LCDC, ISI
- * -----+---+---+----+--------------------
- * PWM2 FI B PC29 UART0, ISI, HDMI
- * H C PD5 HSMCI0
- * B PB8 GMAC
- * L C PD6 HSMCI0
- * B PB9 GMAC
- * -----+---+---+----+--------------------
- * PWM3 FI C PD16 SPI0, Audio
- * H C PD7 HSMCI0
- * B PB12 GMAC
- * L C PD8 HSMCI0
- * B PB13 GMAC
- * -----+---+---+----+--------------------
+ * usage of the pin by other devices. Furthermore, many of these pins have not been
+ * brought out to an external connector:
+ *
+ * -----+---+---+----+------+----------------
+ * PWM PIN PER PIO I/O CONFLICTS
+ * -----+---+---+----+------+----------------
+ * PWM0 FI B PC28 J2.30 SPI1, ISI
+ * H B PB0 --- GMAC
+ * B PA20 J1.14 LCDC, ISI
+ * L B PB1 --- GMAC
+ * B PA21 J1.16 LCDC, ISI
+ * -----+---+---+----+------+----------------
+ * PWM1 FI B PC31 J2.36 HDMI
+ * H B PB4 --- GMAC
+ * B PA22 J1.18 LCDC, ISI
+ * L B PB5 --- GMAC
+ * B PE31 J3.20 ISI, HDMI
+ * B PA23 J1.20 LCDC, ISI
+ * -----+---+---+----+------+----------------
+ * PWM2 FI B PC29 J2.29 UART0, ISI, HDMI
+ * H C PD5 --- HSMCI0
+ * B PB8 --- GMAC
+ * L C PD6 --- HSMCI0
+ * B PB9 --- GMAC
+ * -----+---+---+----+------+----------------
+ * PWM3 FI C PD16 --- SPI0, Audio
+ * H C PD7 --- HSMCI0
+ * B PB12 J3.7 GMAC
+ * L C PD8 --- HSMCI0
+ * B PB13 --- GMAC
+ * -----+---+---+----+------+----------------
*/
-#if !defined(CONFIG_SAMA5_GMAC)
+/* PWM channel 0:
+ *
+ * PA20 and PA21 can be used if the LCDC or ISI are not selected. These outputs are
+ * available on J1, pins 14 and 16, respectively.
+ *
+ * If the GMAC is not selected, then PB0 and PB1 could also be used. However,
+ * these pins are not available at the I/O expansion connectors.
+ */
+
+#if !defined(CONFIG_SAMA5_LCDC) && !defined(CONFIG_SAMA5_ISI)
+# define PIO_PWM0_H PIO_PWM0_H_2
+# define PIO_PWM0_L PIO_PWM0_L_2
+#elif !defined(CONFIG_SAMA5_GMAC)
# define PIO_PWM0_H PIO_PWM0_H_1
# define PIO_PWM0_L PIO_PWM0_L_1
-#elif !defined(CONFIG_SAMA5_LCDC) && !defined(CONFIG_SAMA5_ISI)
-# define PIO_PWM0_H PIO_PWM0_H_2
-# define PIO_PWM0_L PIO_PWM0_L_3
#endif
-#if !defined(CONFIG_SAMA5_GMAC)
-# define PIO_PWM1_H PIO_PWM1_H_1
-# define PIO_PWM1_L PIO_PWM1_L_1
-#elif !defined(CONFIG_SAMA5_LCDC) && !defined(CONFIG_SAMA5_ISI)
+/* PWM channel 1:
+ *
+ * PA22 and PA23 can be used if the LCDC or ISI are not selected. These outputs are
+ * available on J1, pins 18 and 20, respectively.
+ *
+ * PE31 can be used if the ISI is not selected (and the HDMI is not being used).
+ * That signal is available at J3 pin 20.
+ *
+ * If the GMAC is not selected, then PB4 and PB5 could also be used. However,
+ * these pins are not available at the I/O expansion connectors.
+ */
+
+#if !defined(CONFIG_SAMA5_LCDC) && !defined(CONFIG_SAMA5_ISI)
# define PIO_PWM1_H PIO_PWM1_H_2
+#elif !defined(CONFIG_SAMA5_GMAC)
+# define PIO_PWM1_H PIO_PWM1_H_1
+#endif
+
+#if !defined(CONFIG_SAMA5_LCDC) && !defined(CONFIG_SAMA5_ISI)
# define PIO_PWM1_L PIO_PWM1_L_3
#elif !defined(CONFIG_SAMA5_ISI)
# define PIO_PWM1_L PIO_PWM1_L_2
+#elif !defined(CONFIG_SAMA5_GMAC)
+# define PIO_PWM1_L PIO_PWM1_L_1
#endif
+/* PWM channel 2:
+ *
+ * None of the output pin options are available at any of the I/O expansion
+ * connectors for PWM channel 2
+ */
+
#if !defined(CONFIG_SAMA5_HSMCI0)
# define PIO_PWM2_H PIO_PWM2_H_1
# define PIO_PWM2_L PIO_PWM2_L_1
@@ -236,12 +268,18 @@
# define PIO_PWM2_L PIO_PWM2_L_2
#endif
-#if !defined(CONFIG_SAMA5_HSMCI0)
-# define PIO_PWM3_H PIO_PWM3_H_1
-# define PIO_PWM3_L PIO_PWM3_L_1
-#elif !defined(CONFIG_SAMA5_GMAC)
+/* PWM channel 3:
+ *
+ * If the GMAC is not selected, then PB12 can used and is available at J3 pin 7.
+ * None of the other output pins are accessible at the I/O expansion connectors.
+ */
+
+#if !defined(CONFIG_SAMA5_GMAC)
# define PIO_PWM3_H PIO_PWM3_H_2
# define PIO_PWM3_L PIO_PWM3_L_2
+#elif !defined(CONFIG_SAMA5_HSMCI0)
+# define PIO_PWM3_H PIO_PWM3_H_1
+# define PIO_PWM3_L PIO_PWM3_L_1
#endif
/************************************************************************************