diff options
| author | Shawn Guo <shawn.guo@linaro.org> | 2017-09-27 14:59:40 -0400 |
|---|---|---|
| committer | Stephen Boyd <sboyd@codeaurora.org> | 2017-11-14 12:49:00 -0500 |
| commit | 3320f39bee899b68d4f35220764b2ab213374708 (patch) | |
| tree | a42559154686c07f81da8e73a1af26d6781feacd | |
| parent | 90c42090c0da3a77057ba777e2d3f8d16e55aabc (diff) | |
clk: hi3798cv200: correct parent mux clock for 'clk_sdio0_ciu'
Other than 'mmc_mux', 'clk_sdio0_ciu' uses a different parent mux clock.
Let's add this mux clock as 'sdio0_mux', and correct the parent of
'clk_sdio0_ciu' to be it.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| -rw-r--r-- | drivers/clk/hisilicon/crg-hi3798cv200.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/clk/hisilicon/crg-hi3798cv200.c b/drivers/clk/hisilicon/crg-hi3798cv200.c index ed8bb5f7507f..8478948e858e 100644 --- a/drivers/clk/hisilicon/crg-hi3798cv200.c +++ b/drivers/clk/hisilicon/crg-hi3798cv200.c | |||
| @@ -47,6 +47,8 @@ | |||
| 47 | #define HI3798CV200_FIXED_12M 81 | 47 | #define HI3798CV200_FIXED_12M 81 |
| 48 | #define HI3798CV200_FIXED_48M 82 | 48 | #define HI3798CV200_FIXED_48M 82 |
| 49 | #define HI3798CV200_FIXED_60M 83 | 49 | #define HI3798CV200_FIXED_60M 83 |
| 50 | #define HI3798CV200_FIXED_166P5M 84 | ||
| 51 | #define HI3798CV200_SDIO0_MUX 85 | ||
| 50 | 52 | ||
| 51 | #define HI3798CV200_CRG_NR_CLKS 128 | 53 | #define HI3798CV200_CRG_NR_CLKS 128 |
| 52 | 54 | ||
| @@ -63,6 +65,7 @@ static const struct hisi_fixed_rate_clock hi3798cv200_fixed_rate_clks[] = { | |||
| 63 | { HI3798CV200_FIXED_75M, "75m", NULL, 0, 75000000, }, | 65 | { HI3798CV200_FIXED_75M, "75m", NULL, 0, 75000000, }, |
| 64 | { HI3798CV200_FIXED_100M, "100m", NULL, 0, 100000000, }, | 66 | { HI3798CV200_FIXED_100M, "100m", NULL, 0, 100000000, }, |
| 65 | { HI3798CV200_FIXED_150M, "150m", NULL, 0, 150000000, }, | 67 | { HI3798CV200_FIXED_150M, "150m", NULL, 0, 150000000, }, |
| 68 | { HI3798CV200_FIXED_166P5M, "166p5m", NULL, 0, 165000000, }, | ||
| 66 | { HI3798CV200_FIXED_200M, "200m", NULL, 0, 200000000, }, | 69 | { HI3798CV200_FIXED_200M, "200m", NULL, 0, 200000000, }, |
| 67 | { HI3798CV200_FIXED_250M, "250m", NULL, 0, 250000000, }, | 70 | { HI3798CV200_FIXED_250M, "250m", NULL, 0, 250000000, }, |
| 68 | }; | 71 | }; |
| @@ -75,12 +78,19 @@ static const char *const comphy1_mux_p[] = { | |||
| 75 | "100m", "25m"}; | 78 | "100m", "25m"}; |
| 76 | static u32 comphy1_mux_table[] = {2, 3}; | 79 | static u32 comphy1_mux_table[] = {2, 3}; |
| 77 | 80 | ||
| 81 | static const char *const sdio_mux_p[] = { | ||
| 82 | "100m", "50m", "150m", "166p5m" }; | ||
| 83 | static u32 sdio_mux_table[] = {0, 1, 2, 3}; | ||
| 84 | |||
| 78 | static struct hisi_mux_clock hi3798cv200_mux_clks[] = { | 85 | static struct hisi_mux_clock hi3798cv200_mux_clks[] = { |
| 79 | { HI3798CV200_MMC_MUX, "mmc_mux", mmc_mux_p, ARRAY_SIZE(mmc_mux_p), | 86 | { HI3798CV200_MMC_MUX, "mmc_mux", mmc_mux_p, ARRAY_SIZE(mmc_mux_p), |
| 80 | CLK_SET_RATE_PARENT, 0xa0, 8, 3, 0, mmc_mux_table, }, | 87 | CLK_SET_RATE_PARENT, 0xa0, 8, 3, 0, mmc_mux_table, }, |
| 81 | { HI3798CV200_COMBPHY1_MUX, "combphy1_mux", | 88 | { HI3798CV200_COMBPHY1_MUX, "combphy1_mux", |
| 82 | comphy1_mux_p, ARRAY_SIZE(comphy1_mux_p), | 89 | comphy1_mux_p, ARRAY_SIZE(comphy1_mux_p), |
| 83 | CLK_SET_RATE_PARENT, 0x188, 10, 2, 0, comphy1_mux_table, }, | 90 | CLK_SET_RATE_PARENT, 0x188, 10, 2, 0, comphy1_mux_table, }, |
| 91 | { HI3798CV200_SDIO0_MUX, "sdio0_mux", sdio_mux_p, | ||
| 92 | ARRAY_SIZE(sdio_mux_p), CLK_SET_RATE_PARENT, | ||
| 93 | 0x9c, 8, 2, 0, sdio_mux_table, }, | ||
| 84 | }; | 94 | }; |
| 85 | 95 | ||
| 86 | static const struct hisi_gate_clock hi3798cv200_gate_clks[] = { | 96 | static const struct hisi_gate_clock hi3798cv200_gate_clks[] = { |
| @@ -104,7 +114,7 @@ static const struct hisi_gate_clock hi3798cv200_gate_clks[] = { | |||
| 104 | /* SDIO */ | 114 | /* SDIO */ |
| 105 | { HISTB_SDIO0_BIU_CLK, "clk_sdio0_biu", "200m", | 115 | { HISTB_SDIO0_BIU_CLK, "clk_sdio0_biu", "200m", |
| 106 | CLK_SET_RATE_PARENT, 0x9c, 0, 0, }, | 116 | CLK_SET_RATE_PARENT, 0x9c, 0, 0, }, |
| 107 | { HISTB_SDIO0_CIU_CLK, "clk_sdio0_ciu", "mmc_mux", | 117 | { HISTB_SDIO0_CIU_CLK, "clk_sdio0_ciu", "sdio0_mux", |
| 108 | CLK_SET_RATE_PARENT, 0x9c, 1, 0, }, | 118 | CLK_SET_RATE_PARENT, 0x9c, 1, 0, }, |
| 109 | /* EMMC */ | 119 | /* EMMC */ |
| 110 | { HISTB_MMC_BIU_CLK, "clk_mmc_biu", "200m", | 120 | { HISTB_MMC_BIU_CLK, "clk_mmc_biu", "200m", |
