Commit d8473831 authored by Matthias Fend's avatar Matthias Fend Committed by Stephen Boyd
Browse files

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: default avatarMatthias Fend <matthias.fend@emfend.at>
Link: https://lore.kernel.org/r/20220511053455.360335-2-matthias.fend@emfend.at


Reviewed-by: default avatarLuca Ceresoli <luca@lucaceresoli.net>
Acked-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: default avatarLuca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent f0fa3a36
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -153,6 +153,7 @@ enum vc5_model {
	IDT_VC5_5P49V5935,
	IDT_VC6_5P49V6901,
	IDT_VC6_5P49V6965,
	IDT_VC6_5P49V6975,
};

/* 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,
	case IDT_VC5_5P49V5935:
	case IDT_VC6_5P49V6901:
	case IDT_VC6_5P49V6965:
	case IDT_VC6_5P49V6975:
	default:
		return n;
	}
@@ -1250,6 +1252,13 @@ static const struct vc5_chip_info idt_5p49v6965_info = {
	.flags = VC5_HAS_BYPASS_SYNC_BIT,
};

static const struct vc5_chip_info idt_5p49v6975_info = {
	.model = IDT_VC6_5P49V6975,
	.clk_fod_cnt = 4,
	.clk_out_cnt = 5,
	.flags = VC5_HAS_BYPASS_SYNC_BIT | VC5_HAS_INTERNAL_XTAL,
};

static const struct i2c_device_id vc5_id[] = {
	{ "5p49v5923", .driver_data = IDT_VC5_5P49V5923 },
	{ "5p49v5925", .driver_data = IDT_VC5_5P49V5925 },
@@ -1257,6 +1266,7 @@ static const struct i2c_device_id vc5_id[] = {
	{ "5p49v5935", .driver_data = IDT_VC5_5P49V5935 },
	{ "5p49v6901", .driver_data = IDT_VC6_5P49V6901 },
	{ "5p49v6965", .driver_data = IDT_VC6_5P49V6965 },
	{ "5p49v6975", .driver_data = IDT_VC6_5P49V6975 },
	{ }
};
MODULE_DEVICE_TABLE(i2c, vc5_id);
@@ -1268,6 +1278,7 @@ static const struct of_device_id clk_vc5_of_match[] = {
	{ .compatible = "idt,5p49v5935", .data = &idt_5p49v5935_info },
	{ .compatible = "idt,5p49v6901", .data = &idt_5p49v6901_info },
	{ .compatible = "idt,5p49v6965", .data = &idt_5p49v6965_info },
	{ .compatible = "idt,5p49v6975", .data = &idt_5p49v6975_info },
	{ },
};
MODULE_DEVICE_TABLE(of, clk_vc5_of_match);