@@ -1608,6 +1608,116 @@ static const unsigned int avb_gmii_mux[] = {
16081608 AVB_TX_EN_MARK , AVB_TX_ER_MARK , AVB_TX_CLK_MARK ,
16091609 AVB_COL_MARK ,
16101610};
1611+
1612+ /* - CAN -------------------------------------------------------------------- */
1613+ static const unsigned int can0_data_pins [] = {
1614+ /* TX, RX */
1615+ RCAR_GP_PIN (6 , 15 ), RCAR_GP_PIN (6 , 14 ),
1616+ };
1617+
1618+ static const unsigned int can0_data_mux [] = {
1619+ CAN0_TX_MARK , CAN0_RX_MARK ,
1620+ };
1621+
1622+ static const unsigned int can0_data_b_pins [] = {
1623+ /* TX, RX */
1624+ RCAR_GP_PIN (3 , 16 ), RCAR_GP_PIN (3 , 15 ),
1625+ };
1626+
1627+ static const unsigned int can0_data_b_mux [] = {
1628+ CAN0_TX_B_MARK , CAN0_RX_B_MARK ,
1629+ };
1630+
1631+ static const unsigned int can0_data_c_pins [] = {
1632+ /* TX, RX */
1633+ RCAR_GP_PIN (2 , 17 ), RCAR_GP_PIN (2 , 16 ),
1634+ };
1635+
1636+ static const unsigned int can0_data_c_mux [] = {
1637+ CAN0_TX_C_MARK , CAN0_RX_C_MARK ,
1638+ };
1639+
1640+ static const unsigned int can0_data_d_pins [] = {
1641+ /* TX, RX */
1642+ RCAR_GP_PIN (5 , 12 ), RCAR_GP_PIN (5 , 11 ),
1643+ };
1644+
1645+ static const unsigned int can0_data_d_mux [] = {
1646+ CAN0_TX_D_MARK , CAN0_RX_D_MARK ,
1647+ };
1648+
1649+ static const unsigned int can1_data_pins [] = {
1650+ /* TX, RX */
1651+ RCAR_GP_PIN (6 , 25 ), RCAR_GP_PIN (6 , 24 ),
1652+ };
1653+
1654+ static const unsigned int can1_data_mux [] = {
1655+ CAN1_TX_MARK , CAN1_RX_MARK ,
1656+ };
1657+
1658+ static const unsigned int can1_data_b_pins [] = {
1659+ /* TX, RX */
1660+ RCAR_GP_PIN (1 , 2 ), RCAR_GP_PIN (1 , 1 ),
1661+ };
1662+
1663+ static const unsigned int can1_data_b_mux [] = {
1664+ CAN1_TX_B_MARK , CAN1_RX_B_MARK ,
1665+ };
1666+
1667+ static const unsigned int can1_data_c_pins [] = {
1668+ /* TX, RX */
1669+ RCAR_GP_PIN (5 , 6 ), RCAR_GP_PIN (5 , 5 ),
1670+ };
1671+
1672+ static const unsigned int can1_data_c_mux [] = {
1673+ CAN1_TX_C_MARK , CAN1_RX_C_MARK ,
1674+ };
1675+
1676+ static const unsigned int can1_data_d_pins [] = {
1677+ /* TX, RX */
1678+ RCAR_GP_PIN (3 , 31 ), RCAR_GP_PIN (3 , 30 ),
1679+ };
1680+
1681+ static const unsigned int can1_data_d_mux [] = {
1682+ CAN1_TX_D_MARK , CAN1_RX_D_MARK ,
1683+ };
1684+
1685+ static const unsigned int can_clk_pins [] = {
1686+ /* CLK */
1687+ RCAR_GP_PIN (3 , 31 ),
1688+ };
1689+
1690+ static const unsigned int can_clk_mux [] = {
1691+ CAN_CLK_MARK ,
1692+ };
1693+
1694+ static const unsigned int can_clk_b_pins [] = {
1695+ /* CLK */
1696+ RCAR_GP_PIN (1 , 23 ),
1697+ };
1698+
1699+ static const unsigned int can_clk_b_mux [] = {
1700+ CAN_CLK_B_MARK ,
1701+ };
1702+
1703+ static const unsigned int can_clk_c_pins [] = {
1704+ /* CLK */
1705+ RCAR_GP_PIN (1 , 0 ),
1706+ };
1707+
1708+ static const unsigned int can_clk_c_mux [] = {
1709+ CAN_CLK_C_MARK ,
1710+ };
1711+
1712+ static const unsigned int can_clk_d_pins [] = {
1713+ /* CLK */
1714+ RCAR_GP_PIN (5 , 0 ),
1715+ };
1716+
1717+ static const unsigned int can_clk_d_mux [] = {
1718+ CAN_CLK_D_MARK ,
1719+ };
1720+
16111721/* - DU --------------------------------------------------------------------- */
16121722static const unsigned int du0_rgb666_pins [] = {
16131723 /* R[7:2], G[7:2], B[7:2] */
@@ -3459,6 +3569,18 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
34593569 SH_PFC_PIN_GROUP (avb_mdio ),
34603570 SH_PFC_PIN_GROUP (avb_mii ),
34613571 SH_PFC_PIN_GROUP (avb_gmii ),
3572+ SH_PFC_PIN_GROUP (can0_data ),
3573+ SH_PFC_PIN_GROUP (can0_data_b ),
3574+ SH_PFC_PIN_GROUP (can0_data_c ),
3575+ SH_PFC_PIN_GROUP (can0_data_d ),
3576+ SH_PFC_PIN_GROUP (can1_data ),
3577+ SH_PFC_PIN_GROUP (can1_data_b ),
3578+ SH_PFC_PIN_GROUP (can1_data_c ),
3579+ SH_PFC_PIN_GROUP (can1_data_d ),
3580+ SH_PFC_PIN_GROUP (can_clk ),
3581+ SH_PFC_PIN_GROUP (can_clk_b ),
3582+ SH_PFC_PIN_GROUP (can_clk_c ),
3583+ SH_PFC_PIN_GROUP (can_clk_d ),
34623584 SH_PFC_PIN_GROUP (du0_rgb666 ),
34633585 SH_PFC_PIN_GROUP (du0_rgb888 ),
34643586 SH_PFC_PIN_GROUP (du0_clk0_out ),
@@ -3731,6 +3853,28 @@ static const char * const avb_groups[] = {
37313853 "avb_gmii" ,
37323854};
37333855
3856+ static const char * const can0_groups [] = {
3857+ "can0_data" ,
3858+ "can0_data_b" ,
3859+ "can0_data_c" ,
3860+ "can0_data_d" ,
3861+ "can_clk" ,
3862+ "can_clk_b" ,
3863+ "can_clk_c" ,
3864+ "can_clk_d" ,
3865+ };
3866+
3867+ static const char * const can1_groups [] = {
3868+ "can1_data" ,
3869+ "can1_data_b" ,
3870+ "can1_data_c" ,
3871+ "can1_data_d" ,
3872+ "can_clk" ,
3873+ "can_clk_b" ,
3874+ "can_clk_c" ,
3875+ "can_clk_d" ,
3876+ };
3877+
37343878static const char * const du0_groups [] = {
37353879 "du0_rgb666" ,
37363880 "du0_rgb888" ,
@@ -4102,6 +4246,8 @@ static const char * const vin1_groups[] = {
41024246static const struct sh_pfc_function pinmux_functions [] = {
41034247 SH_PFC_FUNCTION (audio_clk ),
41044248 SH_PFC_FUNCTION (avb ),
4249+ SH_PFC_FUNCTION (can0 ),
4250+ SH_PFC_FUNCTION (can1 ),
41054251 SH_PFC_FUNCTION (du0 ),
41064252 SH_PFC_FUNCTION (du1 ),
41074253 SH_PFC_FUNCTION (eth ),
0 commit comments