aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlrich Hecht <ulrich.hecht@gmail.com>2013-05-31 11:57:03 -0400
committerSimon Horman <horms+renesas@verge.net.au>2013-06-12 04:40:26 -0400
commitfbd0ca3de1380cf1881e5e92fb8a97ad24171b4c (patch)
treea34b2e7feb9a7e22d6069c0d96967c009eac5735
parent6e8d1d41bba39e051c9c860efbd83078a94f59a3 (diff)
sh-pfc: r8a7790: add HSCIF pin groups
Adds HSCIF data/clk/ctrl groups to R8A7790 PFC driver. Signed-off-by: Ulrich Hecht <ulrich.hecht@gmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r--drivers/pinctrl/sh-pfc/pfc-r8a7790.c211
1 files changed, 196 insertions, 15 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c
index 85d77a417c0e..1e7a5eb70a00 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c
@@ -1979,6 +1979,141 @@ static const unsigned int scif1_clk_e_pins[] = {
1979static const unsigned int scif1_clk_e_mux[] = { 1979static const unsigned int scif1_clk_e_mux[] = {
1980 SCK1_E_MARK, 1980 SCK1_E_MARK,
1981}; 1981};
1982/* - HSCIF0 ----------------------------------------------------------------- */
1983static const unsigned int hscif0_data_pins[] = {
1984 /* RX, TX */
1985 RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9),
1986};
1987static const unsigned int hscif0_data_mux[] = {
1988 HRX0_MARK, HTX0_MARK,
1989};
1990static const unsigned int hscif0_clk_pins[] = {
1991 /* SCK */
1992 RCAR_GP_PIN(5, 7),
1993};
1994static const unsigned int hscif0_clk_mux[] = {
1995 HSCK0_MARK,
1996};
1997static const unsigned int hscif0_ctrl_pins[] = {
1998 /* RTS, CTS */
1999 RCAR_GP_PIN(5, 11), RCAR_GP_PIN(5, 10),
2000};
2001static const unsigned int hscif0_ctrl_mux[] = {
2002 HRTS0_N_MARK, HCTS0_N_MARK,
2003};
2004static const unsigned int hscif0_data_b_pins[] = {
2005 /* RX, TX */
2006 RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 12),
2007};
2008static const unsigned int hscif0_data_b_mux[] = {
2009 HRX0_B_MARK, HTX0_B_MARK,
2010};
2011static const unsigned int hscif0_ctrl_b_pins[] = {
2012 /* RTS, CTS */
2013 RCAR_GP_PIN(1, 29), RCAR_GP_PIN(1, 28),
2014};
2015static const unsigned int hscif0_ctrl_b_mux[] = {
2016 HRTS0_N_B_MARK, HCTS0_N_B_MARK,
2017};
2018static const unsigned int hscif0_data_c_pins[] = {
2019 /* RX, TX */
2020 RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 16),
2021};
2022static const unsigned int hscif0_data_c_mux[] = {
2023 HRX0_C_MARK, HTX0_C_MARK,
2024};
2025static const unsigned int hscif0_ctrl_c_pins[] = {
2026 /* RTS, CTS */
2027 RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 7),
2028};
2029static const unsigned int hscif0_ctrl_c_mux[] = {
2030 HRTS0_N_C_MARK, HCTS0_N_C_MARK,
2031};
2032static const unsigned int hscif0_data_d_pins[] = {
2033 /* RX, TX */
2034 RCAR_GP_PIN(3, 20), RCAR_GP_PIN(3, 21),
2035};
2036static const unsigned int hscif0_data_d_mux[] = {
2037 HRX0_D_MARK, HTX0_D_MARK,
2038};
2039static const unsigned int hscif0_ctrl_d_pins[] = {
2040 /* RTS, CTS */
2041 RCAR_GP_PIN(3, 23), RCAR_GP_PIN(3, 22),
2042};
2043static const unsigned int hscif0_ctrl_d_mux[] = {
2044 HRTS0_N_D_MARK, HCTS0_N_D_MARK,
2045};
2046static const unsigned int hscif0_data_e_pins[] = {
2047 /* RX, TX */
2048 RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 22),
2049};
2050static const unsigned int hscif0_data_e_mux[] = {
2051 HRX0_E_MARK, HTX0_E_MARK,
2052};
2053static const unsigned int hscif0_ctrl_e_pins[] = {
2054 /* RTS, CTS */
2055 RCAR_GP_PIN(2, 24), RCAR_GP_PIN(2, 23),
2056};
2057static const unsigned int hscif0_ctrl_e_mux[] = {
2058 HRTS0_N_E_MARK, HCTS0_N_E_MARK,
2059};
2060static const unsigned int hscif0_data_f_pins[] = {
2061 /* RX, TX */
2062 RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 25),
2063};
2064static const unsigned int hscif0_data_f_mux[] = {
2065 HRX0_F_MARK, HTX0_F_MARK,
2066};
2067static const unsigned int hscif0_ctrl_f_pins[] = {
2068 /* RTS, CTS */
2069 RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 24),
2070};
2071static const unsigned int hscif0_ctrl_f_mux[] = {
2072 HRTS0_N_F_MARK, HCTS0_N_F_MARK,
2073};
2074/* - HSCIF1 ----------------------------------------------------------------- */
2075static const unsigned int hscif1_data_pins[] = {
2076 /* RX, TX */
2077 RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 29),
2078};
2079static const unsigned int hscif1_data_mux[] = {
2080 HRX1_MARK, HTX1_MARK,
2081};
2082static const unsigned int hscif1_clk_pins[] = {
2083 /* SCK */
2084 RCAR_GP_PIN(4, 27),
2085};
2086static const unsigned int hscif1_clk_mux[] = {
2087 HSCK1_MARK,
2088};
2089static const unsigned int hscif1_ctrl_pins[] = {
2090 /* RTS, CTS */
2091 RCAR_GP_PIN(4, 31), RCAR_GP_PIN(4, 30),
2092};
2093static const unsigned int hscif1_ctrl_mux[] = {
2094 HRTS1_N_MARK, HCTS1_N_MARK,
2095};
2096static const unsigned int hscif1_data_b_pins[] = {
2097 /* RX, TX */
2098 RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 18),
2099};
2100static const unsigned int hscif1_data_b_mux[] = {
2101 HRX1_B_MARK, HTX1_B_MARK,
2102};
2103static const unsigned int hscif1_clk_b_pins[] = {
2104 /* SCK */
2105 RCAR_GP_PIN(1, 28),
2106};
2107static const unsigned int hscif1_clk_b_mux[] = {
2108 HSCK1_B_MARK,
2109};
2110static const unsigned int hscif1_ctrl_b_pins[] = {
2111 /* RTS, CTS */
2112 RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13),
2113};
2114static const unsigned int hscif1_ctrl_b_mux[] = {
2115 HRTS1_N_B_MARK, HCTS1_N_B_MARK,
2116};
1982/* - SCIFA0 ----------------------------------------------------------------- */ 2117/* - SCIFA0 ----------------------------------------------------------------- */
1983static const unsigned int scifa0_data_pins[] = { 2118static const unsigned int scifa0_data_pins[] = {
1984 /* RXD, TXD */ 2119 /* RXD, TXD */
@@ -2591,10 +2726,37 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
2591 SH_PFC_PIN_GROUP(eth_magic), 2726 SH_PFC_PIN_GROUP(eth_magic),
2592 SH_PFC_PIN_GROUP(eth_mdio), 2727 SH_PFC_PIN_GROUP(eth_mdio),
2593 SH_PFC_PIN_GROUP(eth_rmii), 2728 SH_PFC_PIN_GROUP(eth_rmii),
2729 SH_PFC_PIN_GROUP(hscif0_data),
2730 SH_PFC_PIN_GROUP(hscif0_clk),
2731 SH_PFC_PIN_GROUP(hscif0_ctrl),
2732 SH_PFC_PIN_GROUP(hscif0_data_b),
2733 SH_PFC_PIN_GROUP(hscif0_ctrl_b),
2734 SH_PFC_PIN_GROUP(hscif0_data_c),
2735 SH_PFC_PIN_GROUP(hscif0_ctrl_c),
2736 SH_PFC_PIN_GROUP(hscif0_data_d),
2737 SH_PFC_PIN_GROUP(hscif0_ctrl_d),
2738 SH_PFC_PIN_GROUP(hscif0_data_e),
2739 SH_PFC_PIN_GROUP(hscif0_ctrl_e),
2740 SH_PFC_PIN_GROUP(hscif0_data_f),
2741 SH_PFC_PIN_GROUP(hscif0_ctrl_f),
2742 SH_PFC_PIN_GROUP(hscif1_data),
2743 SH_PFC_PIN_GROUP(hscif1_clk),
2744 SH_PFC_PIN_GROUP(hscif1_ctrl),
2745 SH_PFC_PIN_GROUP(hscif1_data_b),
2746 SH_PFC_PIN_GROUP(hscif1_clk_b),
2747 SH_PFC_PIN_GROUP(hscif1_ctrl_b),
2594 SH_PFC_PIN_GROUP(intc_irq0), 2748 SH_PFC_PIN_GROUP(intc_irq0),
2595 SH_PFC_PIN_GROUP(intc_irq1), 2749 SH_PFC_PIN_GROUP(intc_irq1),
2596 SH_PFC_PIN_GROUP(intc_irq2), 2750 SH_PFC_PIN_GROUP(intc_irq2),
2597 SH_PFC_PIN_GROUP(intc_irq3), 2751 SH_PFC_PIN_GROUP(intc_irq3),
2752 SH_PFC_PIN_GROUP(mmc0_data1),
2753 SH_PFC_PIN_GROUP(mmc0_data4),
2754 SH_PFC_PIN_GROUP(mmc0_data8),
2755 SH_PFC_PIN_GROUP(mmc0_ctrl),
2756 SH_PFC_PIN_GROUP(mmc1_data1),
2757 SH_PFC_PIN_GROUP(mmc1_data4),
2758 SH_PFC_PIN_GROUP(mmc1_data8),
2759 SH_PFC_PIN_GROUP(mmc1_ctrl),
2598 SH_PFC_PIN_GROUP(scif0_data), 2760 SH_PFC_PIN_GROUP(scif0_data),
2599 SH_PFC_PIN_GROUP(scif0_clk), 2761 SH_PFC_PIN_GROUP(scif0_clk),
2600 SH_PFC_PIN_GROUP(scif0_ctrl), 2762 SH_PFC_PIN_GROUP(scif0_ctrl),
@@ -2659,18 +2821,6 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
2659 SH_PFC_PIN_GROUP(scifb2_clk_b), 2821 SH_PFC_PIN_GROUP(scifb2_clk_b),
2660 SH_PFC_PIN_GROUP(scifb2_ctrl_b), 2822 SH_PFC_PIN_GROUP(scifb2_ctrl_b),
2661 SH_PFC_PIN_GROUP(scifb2_data_c), 2823 SH_PFC_PIN_GROUP(scifb2_data_c),
2662 SH_PFC_PIN_GROUP(tpu0_to0),
2663 SH_PFC_PIN_GROUP(tpu0_to1),
2664 SH_PFC_PIN_GROUP(tpu0_to2),
2665 SH_PFC_PIN_GROUP(tpu0_to3),
2666 SH_PFC_PIN_GROUP(mmc0_data1),
2667 SH_PFC_PIN_GROUP(mmc0_data4),
2668 SH_PFC_PIN_GROUP(mmc0_data8),
2669 SH_PFC_PIN_GROUP(mmc0_ctrl),
2670 SH_PFC_PIN_GROUP(mmc1_data1),
2671 SH_PFC_PIN_GROUP(mmc1_data4),
2672 SH_PFC_PIN_GROUP(mmc1_data8),
2673 SH_PFC_PIN_GROUP(mmc1_ctrl),
2674 SH_PFC_PIN_GROUP(sdhi0_data1), 2824 SH_PFC_PIN_GROUP(sdhi0_data1),
2675 SH_PFC_PIN_GROUP(sdhi0_data4), 2825 SH_PFC_PIN_GROUP(sdhi0_data4),
2676 SH_PFC_PIN_GROUP(sdhi0_ctrl), 2826 SH_PFC_PIN_GROUP(sdhi0_ctrl),
@@ -2691,6 +2841,10 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
2691 SH_PFC_PIN_GROUP(sdhi3_ctrl), 2841 SH_PFC_PIN_GROUP(sdhi3_ctrl),
2692 SH_PFC_PIN_GROUP(sdhi3_cd), 2842 SH_PFC_PIN_GROUP(sdhi3_cd),
2693 SH_PFC_PIN_GROUP(sdhi3_wp), 2843 SH_PFC_PIN_GROUP(sdhi3_wp),
2844 SH_PFC_PIN_GROUP(tpu0_to0),
2845 SH_PFC_PIN_GROUP(tpu0_to1),
2846 SH_PFC_PIN_GROUP(tpu0_to2),
2847 SH_PFC_PIN_GROUP(tpu0_to3),
2694}; 2848};
2695 2849
2696static const char * const eth_groups[] = { 2850static const char * const eth_groups[] = {
@@ -2726,6 +2880,31 @@ static const char * const scif1_groups[] = {
2726 "scif1_clk_e", 2880 "scif1_clk_e",
2727}; 2881};
2728 2882
2883static const char * const hscif0_groups[] = {
2884 "hscif0_data",
2885 "hscif0_clk",
2886 "hscif0_ctrl",
2887 "hscif0_data_b",
2888 "hscif0_ctrl_b",
2889 "hscif0_data_c",
2890 "hscif0_ctrl_c",
2891 "hscif0_data_d",
2892 "hscif0_ctrl_d",
2893 "hscif0_data_e",
2894 "hscif0_ctrl_e",
2895 "hscif0_data_f",
2896 "hscif0_ctrl_f",
2897};
2898
2899static const char * const hscif1_groups[] = {
2900 "hscif1_data",
2901 "hscif1_clk",
2902 "hscif1_ctrl",
2903 "hscif1_data_b",
2904 "hscif1_clk_b",
2905 "hscif1_ctrl_b",
2906};
2907
2729static const char * const scifa0_groups[] = { 2908static const char * const scifa0_groups[] = {
2730 "scifa0_data", 2909 "scifa0_data",
2731 "scifa0_clk", 2910 "scifa0_clk",
@@ -2850,7 +3029,11 @@ static const char * const sdhi3_groups[] = {
2850 3029
2851static const struct sh_pfc_function pinmux_functions[] = { 3030static const struct sh_pfc_function pinmux_functions[] = {
2852 SH_PFC_FUNCTION(eth), 3031 SH_PFC_FUNCTION(eth),
3032 SH_PFC_FUNCTION(hscif0),
3033 SH_PFC_FUNCTION(hscif1),
2853 SH_PFC_FUNCTION(intc), 3034 SH_PFC_FUNCTION(intc),
3035 SH_PFC_FUNCTION(mmc0),
3036 SH_PFC_FUNCTION(mmc1),
2854 SH_PFC_FUNCTION(scif0), 3037 SH_PFC_FUNCTION(scif0),
2855 SH_PFC_FUNCTION(scif1), 3038 SH_PFC_FUNCTION(scif1),
2856 SH_PFC_FUNCTION(scifa0), 3039 SH_PFC_FUNCTION(scifa0),
@@ -2859,13 +3042,11 @@ static const struct sh_pfc_function pinmux_functions[] = {
2859 SH_PFC_FUNCTION(scifb0), 3042 SH_PFC_FUNCTION(scifb0),
2860 SH_PFC_FUNCTION(scifb1), 3043 SH_PFC_FUNCTION(scifb1),
2861 SH_PFC_FUNCTION(scifb2), 3044 SH_PFC_FUNCTION(scifb2),
2862 SH_PFC_FUNCTION(tpu0),
2863 SH_PFC_FUNCTION(mmc0),
2864 SH_PFC_FUNCTION(mmc1),
2865 SH_PFC_FUNCTION(sdhi0), 3045 SH_PFC_FUNCTION(sdhi0),
2866 SH_PFC_FUNCTION(sdhi1), 3046 SH_PFC_FUNCTION(sdhi1),
2867 SH_PFC_FUNCTION(sdhi2), 3047 SH_PFC_FUNCTION(sdhi2),
2868 SH_PFC_FUNCTION(sdhi3), 3048 SH_PFC_FUNCTION(sdhi3),
3049 SH_PFC_FUNCTION(tpu0),
2869}; 3050};
2870 3051
2871static struct pinmux_cfg_reg pinmux_config_regs[] = { 3052static struct pinmux_cfg_reg pinmux_config_regs[] = {