@@ -124,6 +124,7 @@ enum vc5_model {
124
124
IDT_VC5_5P49V5933 ,
125
125
IDT_VC5_5P49V5935 ,
126
126
IDT_VC6_5P49V6901 ,
127
+ IDT_VC6_5P49V6965 ,
127
128
};
128
129
129
130
/* Structure to describe features of a particular VC5 model */
@@ -683,6 +684,7 @@ static int vc5_map_index_to_output(const enum vc5_model model,
683
684
case IDT_VC5_5P49V5925 :
684
685
case IDT_VC5_5P49V5935 :
685
686
case IDT_VC6_5P49V6901 :
687
+ case IDT_VC6_5P49V6965 :
686
688
default :
687
689
return n ;
688
690
}
@@ -956,12 +958,20 @@ static const struct vc5_chip_info idt_5p49v6901_info = {
956
958
.flags = VC5_HAS_PFD_FREQ_DBL ,
957
959
};
958
960
961
+ static const struct vc5_chip_info idt_5p49v6965_info = {
962
+ .model = IDT_VC6_5P49V6965 ,
963
+ .clk_fod_cnt = 4 ,
964
+ .clk_out_cnt = 5 ,
965
+ .flags = 0 ,
966
+ };
967
+
959
968
static const struct i2c_device_id vc5_id [] = {
960
969
{ "5p49v5923" , .driver_data = IDT_VC5_5P49V5923 },
961
970
{ "5p49v5925" , .driver_data = IDT_VC5_5P49V5925 },
962
971
{ "5p49v5933" , .driver_data = IDT_VC5_5P49V5933 },
963
972
{ "5p49v5935" , .driver_data = IDT_VC5_5P49V5935 },
964
973
{ "5p49v6901" , .driver_data = IDT_VC6_5P49V6901 },
974
+ { "5p49v6965" , .driver_data = IDT_VC6_5P49V6965 },
965
975
{ }
966
976
};
967
977
MODULE_DEVICE_TABLE (i2c , vc5_id );
@@ -972,6 +982,7 @@ static const struct of_device_id clk_vc5_of_match[] = {
972
982
{ .compatible = "idt,5p49v5933" , .data = & idt_5p49v5933_info },
973
983
{ .compatible = "idt,5p49v5935" , .data = & idt_5p49v5935_info },
974
984
{ .compatible = "idt,5p49v6901" , .data = & idt_5p49v6901_info },
985
+ { .compatible = "idt,5p49v6965" , .data = & idt_5p49v6965_info },
975
986
{ },
976
987
};
977
988
MODULE_DEVICE_TABLE (of , clk_vc5_of_match );
0 commit comments