From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: barebox@lists.infradead.org
Cc: pza@pengutronix.de, Ahmad Fatoum <a.fatoum@pengutronix.de>
Subject: [PATCH v2 5/5] clk: imx6: define an enum for ldb mux inputs
Date: Tue, 21 May 2019 17:56:26 +0200 [thread overview]
Message-ID: <20190521155626.9906-6-a.fatoum@pengutronix.de> (raw)
In-Reply-To: <20190521155626.9906-1-a.fatoum@pengutronix.de>
For better readability should this code be reviewed
in future, replace the hardcoded input numbers
with an enum.
This is just a cosmetic change and was verified
to not affect clk-imx6.o.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
drivers/clk/imx/clk-imx6.c | 39 +++++++++++++++++++++++---------------
1 file changed, 24 insertions(+), 15 deletions(-)
diff --git a/drivers/clk/imx/clk-imx6.c b/drivers/clk/imx/clk-imx6.c
index 69586f04a21f..fd0a51f1dcda 100644
--- a/drivers/clk/imx/clk-imx6.c
+++ b/drivers/clk/imx/clk-imx6.c
@@ -213,12 +213,20 @@ static const char *ipu_sels[] = {
"pll3_pfd1_540m",
};
+enum ldb_di_sel { /* for use in init_ldb_clks */
+ LDB_DI_SEL_PLL5_VIDEO_DIV = 0,
+ LDB_DI_SEL_PLL2_PFD0_352M = 1,
+ LDB_DI_SEL_PLL2_PFD2_396M = 2,
+ LDB_DI_SEL_MMDC_CH1_AXI = 3,
+ LDB_DI_SEL_PLL3_USB_OTG = 4,
+};
+
static const char *ldb_di_sels[] = {
- "pll5_video_div",
- "pll2_pfd0_352m",
- "pll2_pfd2_396m",
- "mmdc_ch1_axi_podf",
- "pll3_usb_otg",
+ [LDB_DI_SEL_PLL5_VIDEO_DIV] = "pll5_video_div",
+ [LDB_DI_SEL_PLL2_PFD0_352M] = "pll2_pfd0_352m",
+ [LDB_DI_SEL_PLL2_PFD2_396M] = "pll2_pfd2_396m",
+ [LDB_DI_SEL_MMDC_CH1_AXI] = "mmdc_ch1_axi_podf",
+ [LDB_DI_SEL_PLL3_USB_OTG] = "pll3_usb_otg",
};
static const char *ipu_di_pre_sels[] = {
@@ -311,23 +319,23 @@ static int ldb_di_sel_by_clock_id(int clock_id)
case IMX6QDL_CLK_PLL5_VIDEO_DIV:
if (!cpu_has_working_video_pll_post_div())
return -ENOENT;
- return 0;
+ return LDB_DI_SEL_PLL5_VIDEO_DIV;
case IMX6QDL_CLK_PLL2_PFD0_352M:
- return 1;
+ return LDB_DI_SEL_PLL2_PFD0_352M;
case IMX6QDL_CLK_PLL2_PFD2_396M:
- return 2;
+ return LDB_DI_SEL_PLL2_PFD2_396M;
case IMX6QDL_CLK_MMDC_CH1_AXI:
- return 3;
+ return LDB_DI_SEL_MMDC_CH1_AXI;
case IMX6QDL_CLK_PLL3_USB_OTG:
- return 4;
+ return LDB_DI_SEL_PLL3_USB_OTG;
default:
return -ENOENT;
}
}
static void of_assigned_ldb_sels(struct device_node *node,
- unsigned int *ldb_di0_sel,
- unsigned int *ldb_di1_sel)
+ enum ldb_di_sel *ldb_di0_sel,
+ enum ldb_di_sel *ldb_di1_sel)
{
struct of_phandle_args clkspec;
int index, rc, num_parents;
@@ -466,7 +474,7 @@ static void mmdc_ch1_reenable(void __iomem *ccm_base)
static void init_ldb_clks(struct device_node *np, void __iomem *ccm_base)
{
unsigned int reg;
- unsigned int sel[2][4];
+ enum ldb_di_sel sel[2][4];
int i;
reg = readl(ccm_base + CCM_CS2CDR);
@@ -480,7 +488,7 @@ static void init_ldb_clks(struct device_node *np, void __iomem *ccm_base)
for (i = 0; i < 2; i++) {
/* Warn if a glitch might have been introduced already */
- if (sel[i][0] != 3) {
+ if (sel[i][0] != LDB_DI_SEL_MMDC_CH1_AXI) {
pr_warn("ccm: ldb_di%d_sel already changed from reset value: %d\n",
i, sel[i][0]);
}
@@ -489,7 +497,8 @@ static void init_ldb_clks(struct device_node *np, void __iomem *ccm_base)
continue;
/* Only switch to or from pll2_pfd2_396m if it is disabled */
- if ((sel[i][0] == 2 || sel[i][3] == 2) &&
+ if ((sel[i][0] == LDB_DI_SEL_PLL2_PFD2_396M ||
+ sel[i][3] == LDB_DI_SEL_PLL2_PFD2_396M) &&
(clk_get_parent(clks[IMX6QDL_CLK_PERIPH_PRE]) ==
clks[IMX6QDL_CLK_PLL2_PFD2_396M])) {
pr_err("ccm: ldb_di%d_sel: couldn't disable pll2_pfd2_396m\n",
--
2.20.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2019-05-21 15:56 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-21 15:56 [PATCH v2 0/5] clk: imx6: work around LDB hang caused by ERR009219 Ahmad Fatoum
2019-05-21 15:56 ` [PATCH v2 1/5] clk: imx6: remove quirky clk_set_parent(LDB_diN_sel, pll5_video_div) Ahmad Fatoum
2019-05-23 10:01 ` Philipp Zabel
2019-05-23 10:28 ` Ahmad Fatoum
2019-05-26 21:55 ` Andrey Smirnov
2019-05-27 6:29 ` Ahmad Fatoum
2019-05-27 6:50 ` Andrey Smirnov
2019-05-27 7:23 ` Ahmad Fatoum
2019-05-27 7:28 ` Andrey Smirnov
2019-05-27 7:49 ` Ahmad Fatoum
2019-05-27 8:02 ` Andrey Smirnov
2019-05-27 9:19 ` Ahmad Fatoum
2019-05-27 7:25 ` Andrey Smirnov
2019-05-27 7:39 ` Ahmad Fatoum
2019-05-21 15:56 ` [PATCH v2 2/5] clk: imx6: Make the LDB_DI0 and LDB_DI1 clocks read-only Ahmad Fatoum
2019-05-23 10:01 ` Philipp Zabel
2019-05-27 7:01 ` Andrey Smirnov
2019-05-27 7:38 ` Ahmad Fatoum
2019-05-21 15:56 ` [PATCH v2 3/5] clk: imx6: Mask mmdc_ch1 handshake for periph2_sel and mmdc_ch1_axi_podf Ahmad Fatoum
2019-05-23 10:01 ` Philipp Zabel
2019-05-21 15:56 ` [PATCH v2 4/5] clk: imx6: Fix procedure to switch the parent of LDB_DI_CLK Ahmad Fatoum
2019-05-23 10:03 ` Philipp Zabel
2019-05-26 21:58 ` Andrey Smirnov
2019-05-27 7:04 ` Andrey Smirnov
2019-05-21 15:56 ` Ahmad Fatoum [this message]
2019-05-23 10:03 ` [PATCH v2 5/5] clk: imx6: define an enum for ldb mux inputs Philipp Zabel
2019-05-23 10:35 ` Ahmad Fatoum
2019-05-26 21:59 ` [PATCH v2 0/5] clk: imx6: work around LDB hang caused by ERR009219 Andrey Smirnov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190521155626.9906-6-a.fatoum@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=pza@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox