diff options
author | Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> | 2015-03-30 17:30:02 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2015-04-07 09:21:26 -0400 |
commit | 19ef697d1eb7be06dcd0d0eb170ee5cc206e8f84 (patch) | |
tree | 1ba422d172132db7d97a63d6304adb45bffac3eb /drivers/pinctrl | |
parent | cec656501fc20a5d1b20a43cfa4679705fa7e1ef (diff) |
sh-pfc: r8a7790: add EtherAVB pin groups
Add EtherAVB pin groups to R8A7790 PFC driver.
Based on original patch by Mitsuhiro Kimura <mitsuhiro.kimura.kc@renesas.com>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c index 80c1843bb6ad..22a5470889f5 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c | |||
@@ -1799,6 +1799,81 @@ static const unsigned int audio_clkout_d_pins[] = { | |||
1799 | static const unsigned int audio_clkout_d_mux[] = { | 1799 | static const unsigned int audio_clkout_d_mux[] = { |
1800 | AUDIO_CLKOUT_D_MARK, | 1800 | AUDIO_CLKOUT_D_MARK, |
1801 | }; | 1801 | }; |
1802 | /* - AVB -------------------------------------------------------------------- */ | ||
1803 | static const unsigned int avb_link_pins[] = { | ||
1804 | RCAR_GP_PIN(3, 11), | ||
1805 | }; | ||
1806 | static const unsigned int avb_link_mux[] = { | ||
1807 | AVB_LINK_MARK, | ||
1808 | }; | ||
1809 | static const unsigned int avb_magic_pins[] = { | ||
1810 | RCAR_GP_PIN(2, 14), | ||
1811 | }; | ||
1812 | static const unsigned int avb_magic_mux[] = { | ||
1813 | AVB_MAGIC_MARK, | ||
1814 | }; | ||
1815 | static const unsigned int avb_phy_int_pins[] = { | ||
1816 | RCAR_GP_PIN(2, 15), | ||
1817 | }; | ||
1818 | static const unsigned int avb_phy_int_mux[] = { | ||
1819 | AVB_PHY_INT_MARK, | ||
1820 | }; | ||
1821 | static const unsigned int avb_mdio_pins[] = { | ||
1822 | RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12), | ||
1823 | }; | ||
1824 | static const unsigned int avb_mdio_mux[] = { | ||
1825 | AVB_MDC_MARK, AVB_MDIO_MARK, | ||
1826 | }; | ||
1827 | static const unsigned int avb_mii_pins[] = { | ||
1828 | RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10), | ||
1829 | RCAR_GP_PIN(0, 11), | ||
1830 | |||
1831 | RCAR_GP_PIN(3, 13), RCAR_GP_PIN(2, 0), RCAR_GP_PIN(2, 1), | ||
1832 | RCAR_GP_PIN(2, 2), | ||
1833 | |||
1834 | RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9), | ||
1835 | RCAR_GP_PIN(2, 10), RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 10), | ||
1836 | RCAR_GP_PIN(3, 12), | ||
1837 | }; | ||
1838 | static const unsigned int avb_mii_mux[] = { | ||
1839 | AVB_TXD0_MARK, AVB_TXD1_MARK, AVB_TXD2_MARK, | ||
1840 | AVB_TXD3_MARK, | ||
1841 | |||
1842 | AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK, | ||
1843 | AVB_RXD3_MARK, | ||
1844 | |||
1845 | AVB_RX_ER_MARK, AVB_RX_CLK_MARK, AVB_RX_DV_MARK, | ||
1846 | AVB_CRS_MARK, AVB_TX_EN_MARK, AVB_TX_CLK_MARK, | ||
1847 | AVB_COL_MARK, | ||
1848 | }; | ||
1849 | static const unsigned int avb_gmii_pins[] = { | ||
1850 | RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10), | ||
1851 | RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 13), | ||
1852 | RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 15), | ||
1853 | |||
1854 | RCAR_GP_PIN(3, 13), RCAR_GP_PIN(2, 0), RCAR_GP_PIN(2, 1), | ||
1855 | RCAR_GP_PIN(2, 2), RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 4), | ||
1856 | RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 6), | ||
1857 | |||
1858 | RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9), | ||
1859 | RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 13), RCAR_GP_PIN(2, 16), | ||
1860 | RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9), RCAR_GP_PIN(3, 10), | ||
1861 | RCAR_GP_PIN(3, 12), | ||
1862 | }; | ||
1863 | static const unsigned int avb_gmii_mux[] = { | ||
1864 | AVB_TXD0_MARK, AVB_TXD1_MARK, AVB_TXD2_MARK, | ||
1865 | AVB_TXD3_MARK, AVB_TXD4_MARK, AVB_TXD5_MARK, | ||
1866 | AVB_TXD6_MARK, AVB_TXD7_MARK, | ||
1867 | |||
1868 | AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK, | ||
1869 | AVB_RXD3_MARK, AVB_RXD4_MARK, AVB_RXD5_MARK, | ||
1870 | AVB_RXD6_MARK, AVB_RXD7_MARK, | ||
1871 | |||
1872 | AVB_RX_ER_MARK, AVB_RX_CLK_MARK, AVB_RX_DV_MARK, | ||
1873 | AVB_CRS_MARK, AVB_GTX_CLK_MARK, AVB_GTXREFCLK_MARK, | ||
1874 | AVB_TX_EN_MARK, AVB_TX_ER_MARK, AVB_TX_CLK_MARK, | ||
1875 | AVB_COL_MARK, | ||
1876 | }; | ||
1802 | /* - DU RGB ----------------------------------------------------------------- */ | 1877 | /* - DU RGB ----------------------------------------------------------------- */ |
1803 | static const unsigned int du_rgb666_pins[] = { | 1878 | static const unsigned int du_rgb666_pins[] = { |
1804 | /* R[7:2], G[7:2], B[7:2] */ | 1879 | /* R[7:2], G[7:2], B[7:2] */ |
@@ -3823,6 +3898,12 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
3823 | SH_PFC_PIN_GROUP(audio_clkout_b), | 3898 | SH_PFC_PIN_GROUP(audio_clkout_b), |
3824 | SH_PFC_PIN_GROUP(audio_clkout_c), | 3899 | SH_PFC_PIN_GROUP(audio_clkout_c), |
3825 | SH_PFC_PIN_GROUP(audio_clkout_d), | 3900 | SH_PFC_PIN_GROUP(audio_clkout_d), |
3901 | SH_PFC_PIN_GROUP(avb_link), | ||
3902 | SH_PFC_PIN_GROUP(avb_magic), | ||
3903 | SH_PFC_PIN_GROUP(avb_phy_int), | ||
3904 | SH_PFC_PIN_GROUP(avb_mdio), | ||
3905 | SH_PFC_PIN_GROUP(avb_mii), | ||
3906 | SH_PFC_PIN_GROUP(avb_gmii), | ||
3826 | SH_PFC_PIN_GROUP(du_rgb666), | 3907 | SH_PFC_PIN_GROUP(du_rgb666), |
3827 | SH_PFC_PIN_GROUP(du_rgb888), | 3908 | SH_PFC_PIN_GROUP(du_rgb888), |
3828 | SH_PFC_PIN_GROUP(du_clk_out_0), | 3909 | SH_PFC_PIN_GROUP(du_clk_out_0), |
@@ -4101,6 +4182,15 @@ static const char * const audio_clk_groups[] = { | |||
4101 | "audio_clkout_d", | 4182 | "audio_clkout_d", |
4102 | }; | 4183 | }; |
4103 | 4184 | ||
4185 | static const char * const avb_groups[] = { | ||
4186 | "avb_link", | ||
4187 | "avb_magic", | ||
4188 | "avb_phy_int", | ||
4189 | "avb_mdio", | ||
4190 | "avb_mii", | ||
4191 | "avb_gmii", | ||
4192 | }; | ||
4193 | |||
4104 | static const char * const du_groups[] = { | 4194 | static const char * const du_groups[] = { |
4105 | "du_rgb666", | 4195 | "du_rgb666", |
4106 | "du_rgb888", | 4196 | "du_rgb888", |
@@ -4507,6 +4597,7 @@ static const char * const vin3_groups[] = { | |||
4507 | 4597 | ||
4508 | static const struct sh_pfc_function pinmux_functions[] = { | 4598 | static const struct sh_pfc_function pinmux_functions[] = { |
4509 | SH_PFC_FUNCTION(audio_clk), | 4599 | SH_PFC_FUNCTION(audio_clk), |
4600 | SH_PFC_FUNCTION(avb), | ||
4510 | SH_PFC_FUNCTION(du), | 4601 | SH_PFC_FUNCTION(du), |
4511 | SH_PFC_FUNCTION(du0), | 4602 | SH_PFC_FUNCTION(du0), |
4512 | SH_PFC_FUNCTION(du1), | 4603 | SH_PFC_FUNCTION(du1), |