|
@@ -1595,6 +1595,325 @@ static const unsigned int i2c7_b_mux[] = {
|
|
|
SCL7_B_MARK, SDA7_B_MARK,
|
|
|
};
|
|
|
|
|
|
+/* - MSIOF0 ----------------------------------------------------------------- */
|
|
|
+static const unsigned int msiof0_clk_pins[] = {
|
|
|
+ /* SCK */
|
|
|
+ RCAR_GP_PIN(5, 10),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_clk_mux[] = {
|
|
|
+ MSIOF0_SCK_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_sync_pins[] = {
|
|
|
+ /* SYNC */
|
|
|
+ RCAR_GP_PIN(5, 13),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_sync_mux[] = {
|
|
|
+ MSIOF0_SYNC_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_ss1_pins[] = {
|
|
|
+ /* SS1 */
|
|
|
+ RCAR_GP_PIN(5, 14),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_ss1_mux[] = {
|
|
|
+ MSIOF0_SS1_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_ss2_pins[] = {
|
|
|
+ /* SS2 */
|
|
|
+ RCAR_GP_PIN(5, 15),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_ss2_mux[] = {
|
|
|
+ MSIOF0_SS2_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_txd_pins[] = {
|
|
|
+ /* TXD */
|
|
|
+ RCAR_GP_PIN(5, 12),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_txd_mux[] = {
|
|
|
+ MSIOF0_TXD_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_rxd_pins[] = {
|
|
|
+ /* RXD */
|
|
|
+ RCAR_GP_PIN(5, 11),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof0_rxd_mux[] = {
|
|
|
+ MSIOF0_RXD_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+/* - MSIOF1 ----------------------------------------------------------------- */
|
|
|
+static const unsigned int msiof1_clk_pins[] = {
|
|
|
+ /* SCK */
|
|
|
+ RCAR_GP_PIN(1, 19),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_clk_mux[] = {
|
|
|
+ MSIOF1_SCK_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_sync_pins[] = {
|
|
|
+ /* SYNC */
|
|
|
+ RCAR_GP_PIN(1, 16),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_sync_mux[] = {
|
|
|
+ MSIOF1_SYNC_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_ss1_pins[] = {
|
|
|
+ /* SS1 */
|
|
|
+ RCAR_GP_PIN(1, 14),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_ss1_mux[] = {
|
|
|
+ MSIOF1_SS1_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_ss2_pins[] = {
|
|
|
+ /* SS2 */
|
|
|
+ RCAR_GP_PIN(1, 15),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_ss2_mux[] = {
|
|
|
+ MSIOF1_SS2_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_txd_pins[] = {
|
|
|
+ /* TXD */
|
|
|
+ RCAR_GP_PIN(1, 18),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_txd_mux[] = {
|
|
|
+ MSIOF1_TXD_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_rxd_pins[] = {
|
|
|
+ /* RXD */
|
|
|
+ RCAR_GP_PIN(1, 17),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof1_rxd_mux[] = {
|
|
|
+ MSIOF1_RXD_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+/* - MSIOF2 ----------------------------------------------------------------- */
|
|
|
+static const unsigned int msiof2_clk_a_pins[] = {
|
|
|
+ /* SCK */
|
|
|
+ RCAR_GP_PIN(0, 8),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_clk_a_mux[] = {
|
|
|
+ MSIOF2_SCK_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_sync_a_pins[] = {
|
|
|
+ /* SYNC */
|
|
|
+ RCAR_GP_PIN(0, 9),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_sync_a_mux[] = {
|
|
|
+ MSIOF2_SYNC_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_ss1_a_pins[] = {
|
|
|
+ /* SS1 */
|
|
|
+ RCAR_GP_PIN(0, 15),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_ss1_a_mux[] = {
|
|
|
+ MSIOF2_SS1_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_ss2_a_pins[] = {
|
|
|
+ /* SS2 */
|
|
|
+ RCAR_GP_PIN(0, 14),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_ss2_a_mux[] = {
|
|
|
+ MSIOF2_SS2_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_txd_a_pins[] = {
|
|
|
+ /* TXD */
|
|
|
+ RCAR_GP_PIN(0, 11),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_txd_a_mux[] = {
|
|
|
+ MSIOF2_TXD_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_rxd_a_pins[] = {
|
|
|
+ /* RXD */
|
|
|
+ RCAR_GP_PIN(0, 10),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_rxd_a_mux[] = {
|
|
|
+ MSIOF2_RXD_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_clk_b_pins[] = {
|
|
|
+ /* SCK */
|
|
|
+ RCAR_GP_PIN(1, 13),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_clk_b_mux[] = {
|
|
|
+ MSIOF2_SCK_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_sync_b_pins[] = {
|
|
|
+ /* SYNC */
|
|
|
+ RCAR_GP_PIN(1, 10),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_sync_b_mux[] = {
|
|
|
+ MSIOF2_SYNC_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_ss1_b_pins[] = {
|
|
|
+ /* SS1 */
|
|
|
+ RCAR_GP_PIN(1, 16),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_ss1_b_mux[] = {
|
|
|
+ MSIOF2_SS1_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_ss2_b_pins[] = {
|
|
|
+ /* SS2 */
|
|
|
+ RCAR_GP_PIN(1, 12),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_ss2_b_mux[] = {
|
|
|
+ MSIOF2_SS2_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_txd_b_pins[] = {
|
|
|
+ /* TXD */
|
|
|
+ RCAR_GP_PIN(1, 15),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_txd_b_mux[] = {
|
|
|
+ MSIOF2_TXD_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_rxd_b_pins[] = {
|
|
|
+ /* RXD */
|
|
|
+ RCAR_GP_PIN(1, 14),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof2_rxd_b_mux[] = {
|
|
|
+ MSIOF2_RXD_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+/* - MSIOF3 ----------------------------------------------------------------- */
|
|
|
+static const unsigned int msiof3_clk_a_pins[] = {
|
|
|
+ /* SCK */
|
|
|
+ RCAR_GP_PIN(0, 0),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_clk_a_mux[] = {
|
|
|
+ MSIOF3_SCK_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_sync_a_pins[] = {
|
|
|
+ /* SYNC */
|
|
|
+ RCAR_GP_PIN(0, 1),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_sync_a_mux[] = {
|
|
|
+ MSIOF3_SYNC_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_ss1_a_pins[] = {
|
|
|
+ /* SS1 */
|
|
|
+ RCAR_GP_PIN(0, 15),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_ss1_a_mux[] = {
|
|
|
+ MSIOF3_SS1_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_ss2_a_pins[] = {
|
|
|
+ /* SS2 */
|
|
|
+ RCAR_GP_PIN(0, 4),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_ss2_a_mux[] = {
|
|
|
+ MSIOF3_SS2_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_txd_a_pins[] = {
|
|
|
+ /* TXD */
|
|
|
+ RCAR_GP_PIN(0, 3),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_txd_a_mux[] = {
|
|
|
+ MSIOF3_TXD_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_rxd_a_pins[] = {
|
|
|
+ /* RXD */
|
|
|
+ RCAR_GP_PIN(0, 2),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_rxd_a_mux[] = {
|
|
|
+ MSIOF3_RXD_A_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_clk_b_pins[] = {
|
|
|
+ /* SCK */
|
|
|
+ RCAR_GP_PIN(1, 5),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_clk_b_mux[] = {
|
|
|
+ MSIOF3_SCK_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_sync_b_pins[] = {
|
|
|
+ /* SYNC */
|
|
|
+ RCAR_GP_PIN(1, 4),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_sync_b_mux[] = {
|
|
|
+ MSIOF3_SYNC_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_ss1_b_pins[] = {
|
|
|
+ /* SS1 */
|
|
|
+ RCAR_GP_PIN(1, 0),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_ss1_b_mux[] = {
|
|
|
+ MSIOF3_SS1_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_txd_b_pins[] = {
|
|
|
+ /* TXD */
|
|
|
+ RCAR_GP_PIN(1, 7),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_txd_b_mux[] = {
|
|
|
+ MSIOF3_TXD_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_rxd_b_pins[] = {
|
|
|
+ /* RXD */
|
|
|
+ RCAR_GP_PIN(1, 6),
|
|
|
+};
|
|
|
+
|
|
|
+static const unsigned int msiof3_rxd_b_mux[] = {
|
|
|
+ MSIOF3_RXD_B_MARK,
|
|
|
+};
|
|
|
+
|
|
|
/* - PWM0 --------------------------------------------------------------------*/
|
|
|
static const unsigned int pwm0_a_pins[] = {
|
|
|
/* PWM */
|
|
@@ -2070,89 +2389,129 @@ static const unsigned int usb30_id_mux[] = {
|
|
|
USB3HS0_ID_MARK,
|
|
|
};
|
|
|
|
|
|
-static const struct sh_pfc_pin_group pinmux_groups[] = {
|
|
|
- SH_PFC_PIN_GROUP(avb_link),
|
|
|
- SH_PFC_PIN_GROUP(avb_magic),
|
|
|
- SH_PFC_PIN_GROUP(avb_phy_int),
|
|
|
- SH_PFC_PIN_GROUP(avb_mii),
|
|
|
- SH_PFC_PIN_GROUP(avb_avtp_pps),
|
|
|
- SH_PFC_PIN_GROUP(avb_avtp_match_a),
|
|
|
- SH_PFC_PIN_GROUP(avb_avtp_capture_a),
|
|
|
- SH_PFC_PIN_GROUP(du_rgb666),
|
|
|
- SH_PFC_PIN_GROUP(du_rgb888),
|
|
|
- SH_PFC_PIN_GROUP(du_clk_in_0),
|
|
|
- SH_PFC_PIN_GROUP(du_clk_in_1),
|
|
|
- SH_PFC_PIN_GROUP(du_clk_out_0),
|
|
|
- SH_PFC_PIN_GROUP(du_sync),
|
|
|
- SH_PFC_PIN_GROUP(du_disp_cde),
|
|
|
- SH_PFC_PIN_GROUP(du_cde),
|
|
|
- SH_PFC_PIN_GROUP(du_disp),
|
|
|
- SH_PFC_PIN_GROUP(i2c1_a),
|
|
|
- SH_PFC_PIN_GROUP(i2c1_b),
|
|
|
- SH_PFC_PIN_GROUP(i2c1_c),
|
|
|
- SH_PFC_PIN_GROUP(i2c1_d),
|
|
|
- SH_PFC_PIN_GROUP(i2c2_a),
|
|
|
- SH_PFC_PIN_GROUP(i2c2_b),
|
|
|
- SH_PFC_PIN_GROUP(i2c2_c),
|
|
|
- SH_PFC_PIN_GROUP(i2c2_d),
|
|
|
- SH_PFC_PIN_GROUP(i2c2_e),
|
|
|
- SH_PFC_PIN_GROUP(i2c4),
|
|
|
- SH_PFC_PIN_GROUP(i2c5),
|
|
|
- SH_PFC_PIN_GROUP(i2c6_a),
|
|
|
- SH_PFC_PIN_GROUP(i2c6_b),
|
|
|
- SH_PFC_PIN_GROUP(i2c7_a),
|
|
|
- SH_PFC_PIN_GROUP(i2c7_b),
|
|
|
- SH_PFC_PIN_GROUP(pwm0_a),
|
|
|
- SH_PFC_PIN_GROUP(pwm0_b),
|
|
|
- SH_PFC_PIN_GROUP(pwm1_a),
|
|
|
- SH_PFC_PIN_GROUP(pwm1_b),
|
|
|
- SH_PFC_PIN_GROUP(pwm2_a),
|
|
|
- SH_PFC_PIN_GROUP(pwm2_b),
|
|
|
- SH_PFC_PIN_GROUP(pwm2_c),
|
|
|
- SH_PFC_PIN_GROUP(pwm3_a),
|
|
|
- SH_PFC_PIN_GROUP(pwm3_b),
|
|
|
- SH_PFC_PIN_GROUP(pwm3_c),
|
|
|
- SH_PFC_PIN_GROUP(pwm4_a),
|
|
|
- SH_PFC_PIN_GROUP(pwm4_b),
|
|
|
- SH_PFC_PIN_GROUP(pwm5_a),
|
|
|
- SH_PFC_PIN_GROUP(pwm5_b),
|
|
|
- SH_PFC_PIN_GROUP(pwm6_a),
|
|
|
- SH_PFC_PIN_GROUP(pwm6_b),
|
|
|
- SH_PFC_PIN_GROUP(scif0_data_a),
|
|
|
- SH_PFC_PIN_GROUP(scif0_clk_a),
|
|
|
- SH_PFC_PIN_GROUP(scif0_ctrl_a),
|
|
|
- SH_PFC_PIN_GROUP(scif0_data_b),
|
|
|
- SH_PFC_PIN_GROUP(scif0_clk_b),
|
|
|
- SH_PFC_PIN_GROUP(scif1_data),
|
|
|
- SH_PFC_PIN_GROUP(scif1_clk),
|
|
|
- SH_PFC_PIN_GROUP(scif1_ctrl),
|
|
|
- SH_PFC_PIN_GROUP(scif2_data_a),
|
|
|
- SH_PFC_PIN_GROUP(scif2_clk_a),
|
|
|
- SH_PFC_PIN_GROUP(scif2_data_b),
|
|
|
- SH_PFC_PIN_GROUP(scif3_data_a),
|
|
|
- SH_PFC_PIN_GROUP(scif3_clk_a),
|
|
|
- SH_PFC_PIN_GROUP(scif3_ctrl_a),
|
|
|
- SH_PFC_PIN_GROUP(scif3_data_b),
|
|
|
- SH_PFC_PIN_GROUP(scif3_data_c),
|
|
|
- SH_PFC_PIN_GROUP(scif3_clk_c),
|
|
|
- SH_PFC_PIN_GROUP(scif4_data_a),
|
|
|
- SH_PFC_PIN_GROUP(scif4_clk_a),
|
|
|
- SH_PFC_PIN_GROUP(scif4_ctrl_a),
|
|
|
- SH_PFC_PIN_GROUP(scif4_data_b),
|
|
|
- SH_PFC_PIN_GROUP(scif4_clk_b),
|
|
|
- SH_PFC_PIN_GROUP(scif4_data_c),
|
|
|
- SH_PFC_PIN_GROUP(scif4_ctrl_c),
|
|
|
- SH_PFC_PIN_GROUP(scif5_data_a),
|
|
|
- SH_PFC_PIN_GROUP(scif5_clk_a),
|
|
|
- SH_PFC_PIN_GROUP(scif5_data_b),
|
|
|
- SH_PFC_PIN_GROUP(scif5_data_c),
|
|
|
- SH_PFC_PIN_GROUP(scif_clk_a),
|
|
|
- SH_PFC_PIN_GROUP(scif_clk_b),
|
|
|
- SH_PFC_PIN_GROUP(usb0_a),
|
|
|
- SH_PFC_PIN_GROUP(usb0_b),
|
|
|
- SH_PFC_PIN_GROUP(usb0_id),
|
|
|
- SH_PFC_PIN_GROUP(usb30),
|
|
|
- SH_PFC_PIN_GROUP(usb30_id),
|
|
|
+static const struct {
|
|
|
+ struct sh_pfc_pin_group common[117];
|
|
|
+ struct sh_pfc_pin_group automotive[0];
|
|
|
+} pinmux_groups = {
|
|
|
+ .common = {
|
|
|
+ SH_PFC_PIN_GROUP(avb_link),
|
|
|
+ SH_PFC_PIN_GROUP(avb_magic),
|
|
|
+ SH_PFC_PIN_GROUP(avb_phy_int),
|
|
|
+ SH_PFC_PIN_GROUP(avb_mii),
|
|
|
+ SH_PFC_PIN_GROUP(avb_avtp_pps),
|
|
|
+ SH_PFC_PIN_GROUP(avb_avtp_match_a),
|
|
|
+ SH_PFC_PIN_GROUP(avb_avtp_capture_a),
|
|
|
+ SH_PFC_PIN_GROUP(du_rgb666),
|
|
|
+ SH_PFC_PIN_GROUP(du_rgb888),
|
|
|
+ SH_PFC_PIN_GROUP(du_clk_in_0),
|
|
|
+ SH_PFC_PIN_GROUP(du_clk_in_1),
|
|
|
+ SH_PFC_PIN_GROUP(du_clk_out_0),
|
|
|
+ SH_PFC_PIN_GROUP(du_sync),
|
|
|
+ SH_PFC_PIN_GROUP(du_disp_cde),
|
|
|
+ SH_PFC_PIN_GROUP(du_cde),
|
|
|
+ SH_PFC_PIN_GROUP(du_disp),
|
|
|
+ SH_PFC_PIN_GROUP(i2c1_a),
|
|
|
+ SH_PFC_PIN_GROUP(i2c1_b),
|
|
|
+ SH_PFC_PIN_GROUP(i2c1_c),
|
|
|
+ SH_PFC_PIN_GROUP(i2c1_d),
|
|
|
+ SH_PFC_PIN_GROUP(i2c2_a),
|
|
|
+ SH_PFC_PIN_GROUP(i2c2_b),
|
|
|
+ SH_PFC_PIN_GROUP(i2c2_c),
|
|
|
+ SH_PFC_PIN_GROUP(i2c2_d),
|
|
|
+ SH_PFC_PIN_GROUP(i2c2_e),
|
|
|
+ SH_PFC_PIN_GROUP(i2c4),
|
|
|
+ SH_PFC_PIN_GROUP(i2c5),
|
|
|
+ SH_PFC_PIN_GROUP(i2c6_a),
|
|
|
+ SH_PFC_PIN_GROUP(i2c6_b),
|
|
|
+ SH_PFC_PIN_GROUP(i2c7_a),
|
|
|
+ SH_PFC_PIN_GROUP(i2c7_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof0_clk),
|
|
|
+ SH_PFC_PIN_GROUP(msiof0_sync),
|
|
|
+ SH_PFC_PIN_GROUP(msiof0_ss1),
|
|
|
+ SH_PFC_PIN_GROUP(msiof0_ss2),
|
|
|
+ SH_PFC_PIN_GROUP(msiof0_txd),
|
|
|
+ SH_PFC_PIN_GROUP(msiof0_rxd),
|
|
|
+ SH_PFC_PIN_GROUP(msiof1_clk),
|
|
|
+ SH_PFC_PIN_GROUP(msiof1_sync),
|
|
|
+ SH_PFC_PIN_GROUP(msiof1_ss1),
|
|
|
+ SH_PFC_PIN_GROUP(msiof1_ss2),
|
|
|
+ SH_PFC_PIN_GROUP(msiof1_txd),
|
|
|
+ SH_PFC_PIN_GROUP(msiof1_rxd),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_clk_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_sync_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_ss1_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_ss2_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_txd_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_rxd_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_clk_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_sync_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_ss1_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_ss2_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_txd_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof2_rxd_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_clk_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_sync_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_ss1_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_ss2_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_txd_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_rxd_a),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_clk_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_sync_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_ss1_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_txd_b),
|
|
|
+ SH_PFC_PIN_GROUP(msiof3_rxd_b),
|
|
|
+ SH_PFC_PIN_GROUP(pwm0_a),
|
|
|
+ SH_PFC_PIN_GROUP(pwm0_b),
|
|
|
+ SH_PFC_PIN_GROUP(pwm1_a),
|
|
|
+ SH_PFC_PIN_GROUP(pwm1_b),
|
|
|
+ SH_PFC_PIN_GROUP(pwm2_a),
|
|
|
+ SH_PFC_PIN_GROUP(pwm2_b),
|
|
|
+ SH_PFC_PIN_GROUP(pwm2_c),
|
|
|
+ SH_PFC_PIN_GROUP(pwm3_a),
|
|
|
+ SH_PFC_PIN_GROUP(pwm3_b),
|
|
|
+ SH_PFC_PIN_GROUP(pwm3_c),
|
|
|
+ SH_PFC_PIN_GROUP(pwm4_a),
|
|
|
+ SH_PFC_PIN_GROUP(pwm4_b),
|
|
|
+ SH_PFC_PIN_GROUP(pwm5_a),
|
|
|
+ SH_PFC_PIN_GROUP(pwm5_b),
|
|
|
+ SH_PFC_PIN_GROUP(pwm6_a),
|
|
|
+ SH_PFC_PIN_GROUP(pwm6_b),
|
|
|
+ SH_PFC_PIN_GROUP(scif0_data_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif0_clk_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif0_ctrl_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif0_data_b),
|
|
|
+ SH_PFC_PIN_GROUP(scif0_clk_b),
|
|
|
+ SH_PFC_PIN_GROUP(scif1_data),
|
|
|
+ SH_PFC_PIN_GROUP(scif1_clk),
|
|
|
+ SH_PFC_PIN_GROUP(scif1_ctrl),
|
|
|
+ SH_PFC_PIN_GROUP(scif2_data_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif2_clk_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif2_data_b),
|
|
|
+ SH_PFC_PIN_GROUP(scif3_data_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif3_clk_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif3_ctrl_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif3_data_b),
|
|
|
+ SH_PFC_PIN_GROUP(scif3_data_c),
|
|
|
+ SH_PFC_PIN_GROUP(scif3_clk_c),
|
|
|
+ SH_PFC_PIN_GROUP(scif4_data_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif4_clk_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif4_ctrl_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif4_data_b),
|
|
|
+ SH_PFC_PIN_GROUP(scif4_clk_b),
|
|
|
+ SH_PFC_PIN_GROUP(scif4_data_c),
|
|
|
+ SH_PFC_PIN_GROUP(scif4_ctrl_c),
|
|
|
+ SH_PFC_PIN_GROUP(scif5_data_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif5_clk_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif5_data_b),
|
|
|
+ SH_PFC_PIN_GROUP(scif5_data_c),
|
|
|
+ SH_PFC_PIN_GROUP(scif_clk_a),
|
|
|
+ SH_PFC_PIN_GROUP(scif_clk_b),
|
|
|
+ SH_PFC_PIN_GROUP(usb0_a),
|
|
|
+ SH_PFC_PIN_GROUP(usb0_b),
|
|
|
+ SH_PFC_PIN_GROUP(usb0_id),
|
|
|
+ SH_PFC_PIN_GROUP(usb30),
|
|
|
+ SH_PFC_PIN_GROUP(usb30_id),
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
static const char * const avb_groups[] = {
|
|
@@ -2210,6 +2569,53 @@ static const char * const i2c7_groups[] = {
|
|
|
"i2c7_b",
|
|
|
};
|
|
|
|
|
|
+static const char * const msiof0_groups[] = {
|
|
|
+ "msiof0_clk",
|
|
|
+ "msiof0_sync",
|
|
|
+ "msiof0_ss1",
|
|
|
+ "msiof0_ss2",
|
|
|
+ "msiof0_txd",
|
|
|
+ "msiof0_rxd",
|
|
|
+};
|
|
|
+
|
|
|
+static const char * const msiof1_groups[] = {
|
|
|
+ "msiof1_clk",
|
|
|
+ "msiof1_sync",
|
|
|
+ "msiof1_ss1",
|
|
|
+ "msiof1_ss2",
|
|
|
+ "msiof1_txd",
|
|
|
+ "msiof1_rxd",
|
|
|
+};
|
|
|
+
|
|
|
+static const char * const msiof2_groups[] = {
|
|
|
+ "msiof2_clk_a",
|
|
|
+ "msiof2_sync_a",
|
|
|
+ "msiof2_ss1_a",
|
|
|
+ "msiof2_ss2_a",
|
|
|
+ "msiof2_txd_a",
|
|
|
+ "msiof2_rxd_a",
|
|
|
+ "msiof2_clk_b",
|
|
|
+ "msiof2_sync_b",
|
|
|
+ "msiof2_ss1_b",
|
|
|
+ "msiof2_ss2_b",
|
|
|
+ "msiof2_txd_b",
|
|
|
+ "msiof2_rxd_b",
|
|
|
+};
|
|
|
+
|
|
|
+static const char * const msiof3_groups[] = {
|
|
|
+ "msiof3_clk_a",
|
|
|
+ "msiof3_sync_a",
|
|
|
+ "msiof3_ss1_a",
|
|
|
+ "msiof3_ss2_a",
|
|
|
+ "msiof3_txd_a",
|
|
|
+ "msiof3_rxd_a",
|
|
|
+ "msiof3_clk_b",
|
|
|
+ "msiof3_sync_b",
|
|
|
+ "msiof3_ss1_b",
|
|
|
+ "msiof3_txd_b",
|
|
|
+ "msiof3_rxd_b",
|
|
|
+};
|
|
|
+
|
|
|
static const char * const pwm0_groups[] = {
|
|
|
"pwm0_a",
|
|
|
"pwm0_b",
|
|
@@ -2309,31 +2715,40 @@ static const char * const usb30_groups[] = {
|
|
|
"usb30_id",
|
|
|
};
|
|
|
|
|
|
-static const struct sh_pfc_function pinmux_functions[] = {
|
|
|
- SH_PFC_FUNCTION(avb),
|
|
|
- SH_PFC_FUNCTION(du),
|
|
|
- SH_PFC_FUNCTION(i2c1),
|
|
|
- SH_PFC_FUNCTION(i2c2),
|
|
|
- SH_PFC_FUNCTION(i2c4),
|
|
|
- SH_PFC_FUNCTION(i2c5),
|
|
|
- SH_PFC_FUNCTION(i2c6),
|
|
|
- SH_PFC_FUNCTION(i2c7),
|
|
|
- SH_PFC_FUNCTION(pwm0),
|
|
|
- SH_PFC_FUNCTION(pwm1),
|
|
|
- SH_PFC_FUNCTION(pwm2),
|
|
|
- SH_PFC_FUNCTION(pwm3),
|
|
|
- SH_PFC_FUNCTION(pwm4),
|
|
|
- SH_PFC_FUNCTION(pwm5),
|
|
|
- SH_PFC_FUNCTION(pwm6),
|
|
|
- SH_PFC_FUNCTION(scif0),
|
|
|
- SH_PFC_FUNCTION(scif1),
|
|
|
- SH_PFC_FUNCTION(scif2),
|
|
|
- SH_PFC_FUNCTION(scif3),
|
|
|
- SH_PFC_FUNCTION(scif4),
|
|
|
- SH_PFC_FUNCTION(scif5),
|
|
|
- SH_PFC_FUNCTION(scif_clk),
|
|
|
- SH_PFC_FUNCTION(usb0),
|
|
|
- SH_PFC_FUNCTION(usb30),
|
|
|
+static const struct {
|
|
|
+ struct sh_pfc_function common[28];
|
|
|
+ struct sh_pfc_function automotive[0];
|
|
|
+} pinmux_functions = {
|
|
|
+ .common = {
|
|
|
+ SH_PFC_FUNCTION(avb),
|
|
|
+ SH_PFC_FUNCTION(du),
|
|
|
+ SH_PFC_FUNCTION(i2c1),
|
|
|
+ SH_PFC_FUNCTION(i2c2),
|
|
|
+ SH_PFC_FUNCTION(i2c4),
|
|
|
+ SH_PFC_FUNCTION(i2c5),
|
|
|
+ SH_PFC_FUNCTION(i2c6),
|
|
|
+ SH_PFC_FUNCTION(i2c7),
|
|
|
+ SH_PFC_FUNCTION(msiof0),
|
|
|
+ SH_PFC_FUNCTION(msiof1),
|
|
|
+ SH_PFC_FUNCTION(msiof2),
|
|
|
+ SH_PFC_FUNCTION(msiof3),
|
|
|
+ SH_PFC_FUNCTION(pwm0),
|
|
|
+ SH_PFC_FUNCTION(pwm1),
|
|
|
+ SH_PFC_FUNCTION(pwm2),
|
|
|
+ SH_PFC_FUNCTION(pwm3),
|
|
|
+ SH_PFC_FUNCTION(pwm4),
|
|
|
+ SH_PFC_FUNCTION(pwm5),
|
|
|
+ SH_PFC_FUNCTION(pwm6),
|
|
|
+ SH_PFC_FUNCTION(scif0),
|
|
|
+ SH_PFC_FUNCTION(scif1),
|
|
|
+ SH_PFC_FUNCTION(scif2),
|
|
|
+ SH_PFC_FUNCTION(scif3),
|
|
|
+ SH_PFC_FUNCTION(scif4),
|
|
|
+ SH_PFC_FUNCTION(scif5),
|
|
|
+ SH_PFC_FUNCTION(scif_clk),
|
|
|
+ SH_PFC_FUNCTION(usb0),
|
|
|
+ SH_PFC_FUNCTION(usb30),
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
static const struct pinmux_cfg_reg pinmux_config_regs[] = {
|
|
@@ -3059,6 +3474,30 @@ static const struct sh_pfc_soc_operations r8a77990_pinmux_ops = {
|
|
|
.set_bias = r8a77990_pinmux_set_bias,
|
|
|
};
|
|
|
|
|
|
+#ifdef CONFIG_PINCTRL_PFC_R8A774C0
|
|
|
+const struct sh_pfc_soc_info r8a774c0_pinmux_info = {
|
|
|
+ .name = "r8a774c0_pfc",
|
|
|
+ .ops = &r8a77990_pinmux_ops,
|
|
|
+ .unlock_reg = 0xe6060000, /* PMMR */
|
|
|
+
|
|
|
+ .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
|
|
|
+
|
|
|
+ .pins = pinmux_pins,
|
|
|
+ .nr_pins = ARRAY_SIZE(pinmux_pins),
|
|
|
+ .groups = pinmux_groups.common,
|
|
|
+ .nr_groups = ARRAY_SIZE(pinmux_groups.common),
|
|
|
+ .functions = pinmux_functions.common,
|
|
|
+ .nr_functions = ARRAY_SIZE(pinmux_functions.common),
|
|
|
+
|
|
|
+ .cfg_regs = pinmux_config_regs,
|
|
|
+ .bias_regs = pinmux_bias_regs,
|
|
|
+
|
|
|
+ .pinmux_data = pinmux_data,
|
|
|
+ .pinmux_data_size = ARRAY_SIZE(pinmux_data),
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#ifdef CONFIG_PINCTRL_PFC_R8A77990
|
|
|
const struct sh_pfc_soc_info r8a77990_pinmux_info = {
|
|
|
.name = "r8a77990_pfc",
|
|
|
.ops = &r8a77990_pinmux_ops,
|
|
@@ -3068,10 +3507,12 @@ const struct sh_pfc_soc_info r8a77990_pinmux_info = {
|
|
|
|
|
|
.pins = pinmux_pins,
|
|
|
.nr_pins = ARRAY_SIZE(pinmux_pins),
|
|
|
- .groups = pinmux_groups,
|
|
|
- .nr_groups = ARRAY_SIZE(pinmux_groups),
|
|
|
- .functions = pinmux_functions,
|
|
|
- .nr_functions = ARRAY_SIZE(pinmux_functions),
|
|
|
+ .groups = pinmux_groups.common,
|
|
|
+ .nr_groups = ARRAY_SIZE(pinmux_groups.common) +
|
|
|
+ ARRAY_SIZE(pinmux_groups.automotive),
|
|
|
+ .functions = pinmux_functions.common,
|
|
|
+ .nr_functions = ARRAY_SIZE(pinmux_functions.common) +
|
|
|
+ ARRAY_SIZE(pinmux_functions.automotive),
|
|
|
|
|
|
.cfg_regs = pinmux_config_regs,
|
|
|
.bias_regs = pinmux_bias_regs,
|
|
@@ -3079,3 +3520,4 @@ const struct sh_pfc_soc_info r8a77990_pinmux_info = {
|
|
|
.pinmux_data = pinmux_data,
|
|
|
.pinmux_data_size = ARRAY_SIZE(pinmux_data),
|
|
|
};
|
|
|
+#endif
|