|
20 | 20 | #include <media/v4l2-subdev.h>
|
21 | 21 |
|
22 | 22 | #define IMX214_DEFAULT_CLK_FREQ 24000000
|
23 |
| -#define IMX214_DEFAULT_LINK_FREQ 480000000 |
| 23 | +#define IMX214_DEFAULT_LINK_FREQ 600000000 |
| 24 | +/* Keep wrong link frequency for backward compatibility */ |
| 25 | +#define IMX214_DEFAULT_LINK_FREQ_LEGACY 480000000 |
24 | 26 | #define IMX214_DEFAULT_PIXEL_RATE ((IMX214_DEFAULT_LINK_FREQ * 8LL) / 10)
|
25 | 27 | #define IMX214_FPS 30
|
26 | 28 | #define IMX214_MBUS_CODE MEDIA_BUS_FMT_SRGGB10_1X10
|
@@ -892,17 +894,26 @@ static int imx214_parse_fwnode(struct device *dev)
|
892 | 894 | goto done;
|
893 | 895 | }
|
894 | 896 |
|
895 |
| - for (i = 0; i < bus_cfg.nr_of_link_frequencies; i++) |
| 897 | + if (bus_cfg.nr_of_link_frequencies != 1) |
| 898 | + dev_warn(dev, "Only one link-frequency supported, please review your DT. Continuing anyway\n"); |
| 899 | + |
| 900 | + for (i = 0; i < bus_cfg.nr_of_link_frequencies; i++) { |
896 | 901 | if (bus_cfg.link_frequencies[i] == IMX214_DEFAULT_LINK_FREQ)
|
897 | 902 | break;
|
898 |
| - |
899 |
| - if (i == bus_cfg.nr_of_link_frequencies) { |
900 |
| - dev_err(dev, "link-frequencies %d not supported, Please review your DT\n", |
901 |
| - IMX214_DEFAULT_LINK_FREQ); |
902 |
| - ret = -EINVAL; |
903 |
| - goto done; |
| 903 | + if (bus_cfg.link_frequencies[i] == |
| 904 | + IMX214_DEFAULT_LINK_FREQ_LEGACY) { |
| 905 | + dev_warn(dev, |
| 906 | + "link-frequencies %d not supported, please review your DT. Continuing anyway\n", |
| 907 | + IMX214_DEFAULT_LINK_FREQ); |
| 908 | + break; |
| 909 | + } |
904 | 910 | }
|
905 | 911 |
|
| 912 | + if (i == bus_cfg.nr_of_link_frequencies) |
| 913 | + ret = dev_err_probe(dev, -EINVAL, |
| 914 | + "link-frequencies %d not supported, please review your DT\n", |
| 915 | + IMX214_DEFAULT_LINK_FREQ); |
| 916 | + |
906 | 917 | done:
|
907 | 918 | v4l2_fwnode_endpoint_free(&bus_cfg);
|
908 | 919 | fwnode_handle_put(endpoint);
|
|
0 commit comments