clk: rs9: Add support for 9FGV0441
This model is similar to 9FGV0241, but the DIFx bits start at bit 0. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Reviewed-by: Marek Vasut <marex@denx.de> Link: https://lore.kernel.org/r/20230310075535.3476580-4-alexander.stein@ew.tq-group.com Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
parent
603df193ec
commit
e44fdd114c
|
@ -6,6 +6,7 @@
|
|||
* - 9FGV/9DBV/9DMV/9FGL/9DML/9QXL/9SQ
|
||||
* Currently supported:
|
||||
* - 9FGV0241
|
||||
* - 9FGV0441
|
||||
*
|
||||
* Copyright (C) 2022 Marek Vasut <marex@denx.de>
|
||||
*/
|
||||
|
@ -51,6 +52,7 @@
|
|||
/* Supported Renesas 9-series models. */
|
||||
enum rs9_model {
|
||||
RENESAS_9FGV0241,
|
||||
RENESAS_9FGV0441,
|
||||
};
|
||||
|
||||
/* Structure to describe features of a particular 9-series model */
|
||||
|
@ -64,7 +66,7 @@ struct rs9_driver_data {
|
|||
struct i2c_client *client;
|
||||
struct regmap *regmap;
|
||||
const struct rs9_chip_info *chip_info;
|
||||
struct clk_hw *clk_dif[2];
|
||||
struct clk_hw *clk_dif[4];
|
||||
u8 pll_amplitude;
|
||||
u8 pll_ssc;
|
||||
u8 clk_dif_sr;
|
||||
|
@ -161,6 +163,8 @@ static u8 rs9_calc_dif(const struct rs9_driver_data *rs9, int idx)
|
|||
|
||||
if (model == RENESAS_9FGV0241)
|
||||
return BIT(idx) + 1;
|
||||
else if (model == RENESAS_9FGV0441)
|
||||
return BIT(idx);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -380,14 +384,22 @@ static const struct rs9_chip_info renesas_9fgv0241_info = {
|
|||
.did = RS9_REG_DID_TYPE_FGV | 0x02,
|
||||
};
|
||||
|
||||
static const struct rs9_chip_info renesas_9fgv0441_info = {
|
||||
.model = RENESAS_9FGV0441,
|
||||
.num_clks = 4,
|
||||
.did = RS9_REG_DID_TYPE_FGV | 0x04,
|
||||
};
|
||||
|
||||
static const struct i2c_device_id rs9_id[] = {
|
||||
{ "9fgv0241", .driver_data = RENESAS_9FGV0241 },
|
||||
{ "9fgv0441", .driver_data = RENESAS_9FGV0441 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, rs9_id);
|
||||
|
||||
static const struct of_device_id clk_rs9_of_match[] = {
|
||||
{ .compatible = "renesas,9fgv0241", .data = &renesas_9fgv0241_info },
|
||||
{ .compatible = "renesas,9fgv0441", .data = &renesas_9fgv0441_info },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, clk_rs9_of_match);
|
||||
|
|
Loading…
Reference in New Issue