aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-03-27 06:06:37 -0400
committerSimon Horman <horms+renesas@verge.net.au>2013-04-02 21:30:37 -0400
commitba774cc7380e83f942c08564d3c142af2fbd05be (patch)
tree9df1d2da9b2eb4acad7c3c22fce3d0aa46d47ed5 /drivers/pinctrl
parent2b4b588299fa3c8672e1049ab33acc7b600a8990 (diff)
sh-pfc: r8a7779: Split DU input and output pixel clocks
The output pixel clocks can be used without the input pixel clocks. Split them in different groups. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/sh-pfc/pfc-r8a7779.c60
1 files changed, 39 insertions, 21 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7779.c b/drivers/pinctrl/sh-pfc/pfc-r8a7779.c
index e448ff1f408f..62dcdcdec940 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7779.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7779.c
@@ -1498,19 +1498,26 @@ static const unsigned int du0_rgb888_mux[] = {
1498 DU0_DB7_MARK, DU0_DB6_MARK, DU0_DB5_MARK, DU0_DB4_MARK, 1498 DU0_DB7_MARK, DU0_DB6_MARK, DU0_DB5_MARK, DU0_DB4_MARK,
1499 DU0_DB3_MARK, DU0_DB2_MARK, DU0_DB1_MARK, DU0_DB0_MARK, 1499 DU0_DB3_MARK, DU0_DB2_MARK, DU0_DB1_MARK, DU0_DB0_MARK,
1500}; 1500};
1501static const unsigned int du0_clk_0_pins[] = { 1501static const unsigned int du0_clk_in_pins[] = {
1502 /* CLKIN, CLKOUT */ 1502 /* CLKIN */
1503 29, 180, 1503 29,
1504}; 1504};
1505static const unsigned int du0_clk_0_mux[] = { 1505static const unsigned int du0_clk_in_mux[] = {
1506 DU0_DOTCLKIN_MARK, DU0_DOTCLKOUT0_MARK, 1506 DU0_DOTCLKIN_MARK,
1507}; 1507};
1508static const unsigned int du0_clk_1_pins[] = { 1508static const unsigned int du0_clk_out_0_pins[] = {
1509 /* CLKIN, CLKOUT */ 1509 /* CLKOUT */
1510 29, 30, 1510 180,
1511}; 1511};
1512static const unsigned int du0_clk_1_mux[] = { 1512static const unsigned int du0_clk_out_0_mux[] = {
1513 DU0_DOTCLKIN_MARK, DU0_DOTCLKOUT1_MARK, 1513 DU0_DOTCLKOUT0_MARK,
1514};
1515static const unsigned int du0_clk_out_1_pins[] = {
1516 /* CLKOUT */
1517 30,
1518};
1519static const unsigned int du0_clk_out_1_mux[] = {
1520 DU0_DOTCLKOUT1_MARK,
1514}; 1521};
1515static const unsigned int du0_sync_0_pins[] = { 1522static const unsigned int du0_sync_0_pins[] = {
1516 /* VSYNC, HSYNC, DISP */ 1523 /* VSYNC, HSYNC, DISP */
@@ -1571,12 +1578,19 @@ static const unsigned int du1_rgb888_mux[] = {
1571 DU1_DB7_MARK, DU1_DB6_MARK, DU1_DB5_MARK, DU1_DB4_MARK, 1578 DU1_DB7_MARK, DU1_DB6_MARK, DU1_DB5_MARK, DU1_DB4_MARK,
1572 DU1_DB3_MARK, DU1_DB2_MARK, DU1_DB1_MARK, DU1_DB0_MARK, 1579 DU1_DB3_MARK, DU1_DB2_MARK, DU1_DB1_MARK, DU1_DB0_MARK,
1573}; 1580};
1574static const unsigned int du1_clk_pins[] = { 1581static const unsigned int du1_clk_in_pins[] = {
1575 /* CLKIN, CLKOUT */ 1582 /* CLKIN */
1576 58, 59, 1583 58,
1584};
1585static const unsigned int du1_clk_in_mux[] = {
1586 DU1_DOTCLKIN_MARK,
1587};
1588static const unsigned int du1_clk_out_pins[] = {
1589 /* CLKOUT */
1590 59,
1577}; 1591};
1578static const unsigned int du1_clk_mux[] = { 1592static const unsigned int du1_clk_out_mux[] = {
1579 DU1_DOTCLKIN_MARK, DU1_DOTCLKOUT_MARK, 1593 DU1_DOTCLKOUT_MARK,
1580}; 1594};
1581static const unsigned int du1_sync_0_pins[] = { 1595static const unsigned int du1_sync_0_pins[] = {
1582 /* VSYNC, HSYNC, DISP */ 1596 /* VSYNC, HSYNC, DISP */
@@ -2369,15 +2383,17 @@ static const unsigned int usb2_mux[] = {
2369static const struct sh_pfc_pin_group pinmux_groups[] = { 2383static const struct sh_pfc_pin_group pinmux_groups[] = {
2370 SH_PFC_PIN_GROUP(du0_rgb666), 2384 SH_PFC_PIN_GROUP(du0_rgb666),
2371 SH_PFC_PIN_GROUP(du0_rgb888), 2385 SH_PFC_PIN_GROUP(du0_rgb888),
2372 SH_PFC_PIN_GROUP(du0_clk_0), 2386 SH_PFC_PIN_GROUP(du0_clk_in),
2373 SH_PFC_PIN_GROUP(du0_clk_1), 2387 SH_PFC_PIN_GROUP(du0_clk_out_0),
2388 SH_PFC_PIN_GROUP(du0_clk_out_1),
2374 SH_PFC_PIN_GROUP(du0_sync_0), 2389 SH_PFC_PIN_GROUP(du0_sync_0),
2375 SH_PFC_PIN_GROUP(du0_sync_1), 2390 SH_PFC_PIN_GROUP(du0_sync_1),
2376 SH_PFC_PIN_GROUP(du0_oddf), 2391 SH_PFC_PIN_GROUP(du0_oddf),
2377 SH_PFC_PIN_GROUP(du0_cde), 2392 SH_PFC_PIN_GROUP(du0_cde),
2378 SH_PFC_PIN_GROUP(du1_rgb666), 2393 SH_PFC_PIN_GROUP(du1_rgb666),
2379 SH_PFC_PIN_GROUP(du1_rgb888), 2394 SH_PFC_PIN_GROUP(du1_rgb888),
2380 SH_PFC_PIN_GROUP(du1_clk), 2395 SH_PFC_PIN_GROUP(du1_clk_in),
2396 SH_PFC_PIN_GROUP(du1_clk_out),
2381 SH_PFC_PIN_GROUP(du1_sync_0), 2397 SH_PFC_PIN_GROUP(du1_sync_0),
2382 SH_PFC_PIN_GROUP(du1_sync_1), 2398 SH_PFC_PIN_GROUP(du1_sync_1),
2383 SH_PFC_PIN_GROUP(du1_oddf), 2399 SH_PFC_PIN_GROUP(du1_oddf),
@@ -2492,8 +2508,9 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
2492static const char * const du0_groups[] = { 2508static const char * const du0_groups[] = {
2493 "du0_rgb666", 2509 "du0_rgb666",
2494 "du0_rgb888", 2510 "du0_rgb888",
2495 "du0_clk_0", 2511 "du0_clk_in",
2496 "du0_clk_1", 2512 "du0_clk_out_0",
2513 "du0_clk_out_1",
2497 "du0_sync_0", 2514 "du0_sync_0",
2498 "du0_sync_1", 2515 "du0_sync_1",
2499 "du0_oddf", 2516 "du0_oddf",
@@ -2503,7 +2520,8 @@ static const char * const du0_groups[] = {
2503static const char * const du1_groups[] = { 2520static const char * const du1_groups[] = {
2504 "du1_rgb666", 2521 "du1_rgb666",
2505 "du1_rgb888", 2522 "du1_rgb888",
2506 "du1_clk", 2523 "du1_clk_in",
2524 "du1_clk_out",
2507 "du1_sync_0", 2525 "du1_sync_0",
2508 "du1_sync_1", 2526 "du1_sync_1",
2509 "du1_oddf", 2527 "du1_oddf",