Skip to content

Commit d847383

Browse files
emfendbebarino
authored andcommitted
clk: vc5: Add support for IDT/Renesas VersaClock 5P49V6975
Update IDT VersaClock 5 driver to support 5P49V6975. The 5P49V6975 is a member of the VersaClock 6E family and supports four fractional dividers (FODs), five clock outputs and an internal oscillator. Signed-off-by: Matthias Fend <matthias.fend@emfend.at> Link: https://lore.kernel.org/r/20220511053455.360335-2-matthias.fend@emfend.at Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
1 parent f0fa3a3 commit d847383

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

drivers/clk/clk-versaclock5.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ enum vc5_model {
153153
IDT_VC5_5P49V5935,
154154
IDT_VC6_5P49V6901,
155155
IDT_VC6_5P49V6965,
156+
IDT_VC6_5P49V6975,
156157
};
157158

158159
/* Structure to describe features of a particular VC5 model */
@@ -753,6 +754,7 @@ static int vc5_map_index_to_output(const enum vc5_model model,
753754
case IDT_VC5_5P49V5935:
754755
case IDT_VC6_5P49V6901:
755756
case IDT_VC6_5P49V6965:
757+
case IDT_VC6_5P49V6975:
756758
default:
757759
return n;
758760
}
@@ -1250,13 +1252,21 @@ static const struct vc5_chip_info idt_5p49v6965_info = {
12501252
.flags = VC5_HAS_BYPASS_SYNC_BIT,
12511253
};
12521254

1255+
static const struct vc5_chip_info idt_5p49v6975_info = {
1256+
.model = IDT_VC6_5P49V6975,
1257+
.clk_fod_cnt = 4,
1258+
.clk_out_cnt = 5,
1259+
.flags = VC5_HAS_BYPASS_SYNC_BIT | VC5_HAS_INTERNAL_XTAL,
1260+
};
1261+
12531262
static const struct i2c_device_id vc5_id[] = {
12541263
{ "5p49v5923", .driver_data = IDT_VC5_5P49V5923 },
12551264
{ "5p49v5925", .driver_data = IDT_VC5_5P49V5925 },
12561265
{ "5p49v5933", .driver_data = IDT_VC5_5P49V5933 },
12571266
{ "5p49v5935", .driver_data = IDT_VC5_5P49V5935 },
12581267
{ "5p49v6901", .driver_data = IDT_VC6_5P49V6901 },
12591268
{ "5p49v6965", .driver_data = IDT_VC6_5P49V6965 },
1269+
{ "5p49v6975", .driver_data = IDT_VC6_5P49V6975 },
12601270
{ }
12611271
};
12621272
MODULE_DEVICE_TABLE(i2c, vc5_id);
@@ -1268,6 +1278,7 @@ static const struct of_device_id clk_vc5_of_match[] = {
12681278
{ .compatible = "idt,5p49v5935", .data = &idt_5p49v5935_info },
12691279
{ .compatible = "idt,5p49v6901", .data = &idt_5p49v6901_info },
12701280
{ .compatible = "idt,5p49v6965", .data = &idt_5p49v6965_info },
1281+
{ .compatible = "idt,5p49v6975", .data = &idt_5p49v6975_info },
12711282
{ },
12721283
};
12731284
MODULE_DEVICE_TABLE(of, clk_vc5_of_match);

0 commit comments

Comments
 (0)