mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
can: kvaser_usb: leaf: Replace kvaser_usb_leaf_m32c_dev_cfg with kvaser_usb_leaf_m32c_dev_cfg_{16,24,32}mhz
Add new struct kvaser_usb_dev_cfg constants,
kvaser_usb_leaf_m32c_dev_cfg_{16,24,32}mhz,
for M32C based leaf devices.
Note that the bittiming parameters are always calculated for 16MHz clock,
while the timestamps are in the actual clock frequency of the device.
Signed-off-by: Jimmy Assarsson <extja@kvaser.com>
Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Link: https://lore.kernel.org/all/20240701154936.92633-8-extja@kvaser.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
dcc8c20331
commit
9e1cd0d272
|
|
@ -471,11 +471,27 @@ static const struct kvaser_usb_dev_cfg kvaser_usb_leaf_usbcan_dev_cfg = {
|
|||
.bittiming_const = &kvaser_usb_leaf_m16c_bittiming_const,
|
||||
};
|
||||
|
||||
static const struct kvaser_usb_dev_cfg kvaser_usb_leaf_m32c_dev_cfg = {
|
||||
static const struct kvaser_usb_dev_cfg kvaser_usb_leaf_m32c_dev_cfg_16mhz = {
|
||||
.clock = {
|
||||
.freq = 16 * MEGA /* Hz */,
|
||||
},
|
||||
.timestamp_freq = 1,
|
||||
.timestamp_freq = 16,
|
||||
.bittiming_const = &kvaser_usb_leaf_m32c_bittiming_const,
|
||||
};
|
||||
|
||||
static const struct kvaser_usb_dev_cfg kvaser_usb_leaf_m32c_dev_cfg_24mhz = {
|
||||
.clock = {
|
||||
.freq = 16 * MEGA /* Hz */,
|
||||
},
|
||||
.timestamp_freq = 24,
|
||||
.bittiming_const = &kvaser_usb_leaf_m32c_bittiming_const,
|
||||
};
|
||||
|
||||
static const struct kvaser_usb_dev_cfg kvaser_usb_leaf_m32c_dev_cfg_32mhz = {
|
||||
.clock = {
|
||||
.freq = 16 * MEGA /* Hz */,
|
||||
},
|
||||
.timestamp_freq = 32,
|
||||
.bittiming_const = &kvaser_usb_leaf_m32c_bittiming_const,
|
||||
};
|
||||
|
||||
|
|
@ -686,8 +702,19 @@ static void kvaser_usb_leaf_get_software_info_leaf(struct kvaser_usb *dev,
|
|||
if (dev->driver_info->quirks & KVASER_USB_QUIRK_IGNORE_CLK_FREQ) {
|
||||
/* Firmware expects bittiming parameters calculated for 16MHz
|
||||
* clock, regardless of the actual clock
|
||||
* Though, the reported freq is used for timestamps
|
||||
*/
|
||||
dev->cfg = &kvaser_usb_leaf_m32c_dev_cfg;
|
||||
switch (sw_options & KVASER_USB_LEAF_SWOPTION_FREQ_MASK) {
|
||||
case KVASER_USB_LEAF_SWOPTION_FREQ_16_MHZ_CLK:
|
||||
dev->cfg = &kvaser_usb_leaf_m32c_dev_cfg_16mhz;
|
||||
break;
|
||||
case KVASER_USB_LEAF_SWOPTION_FREQ_24_MHZ_CLK:
|
||||
dev->cfg = &kvaser_usb_leaf_m32c_dev_cfg_24mhz;
|
||||
break;
|
||||
case KVASER_USB_LEAF_SWOPTION_FREQ_32_MHZ_CLK:
|
||||
dev->cfg = &kvaser_usb_leaf_m32c_dev_cfg_32mhz;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (sw_options & KVASER_USB_LEAF_SWOPTION_FREQ_MASK) {
|
||||
case KVASER_USB_LEAF_SWOPTION_FREQ_16_MHZ_CLK:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user