diff --git a/arch/arm/src/imx9/imx9_flexcan.c b/arch/arm/src/imx9/imx9_flexcan.c index 9c5146eadfa..5936b65d4ad 100644 --- a/arch/arm/src/imx9/imx9_flexcan.c +++ b/arch/arm/src/imx9/imx9_flexcan.c @@ -1549,11 +1549,11 @@ static int imx9_ioctl(struct net_driver_s *dev, int cmd, { struct can_ioctl_data_s *req = (struct can_ioctl_data_s *)((uintptr_t)arg); - req->arbi_bitrate = priv->arbi_timing.bitrate / 1000; /* kbit/s */ + req->arbi_bitrate = priv->arbi_timing.bitrate; req->arbi_samplep = priv->arbi_timing.samplep; if (priv->canfd_capable) { - req->data_bitrate = priv->data_timing.bitrate / 1000; /* kbit/s */ + req->data_bitrate = priv->data_timing.bitrate; req->data_samplep = priv->data_timing.samplep; } else @@ -1572,7 +1572,7 @@ static int imx9_ioctl(struct net_driver_s *dev, int cmd, (struct can_ioctl_data_s *)((uintptr_t)arg); struct flexcan_timeseg arbi_timing; - arbi_timing.bitrate = req->arbi_bitrate * 1000; + arbi_timing.bitrate = req->arbi_bitrate; arbi_timing.samplep = req->arbi_samplep; if (imx9_bitratetotimeseg(&arbi_timing, 10, 0)) @@ -1586,7 +1586,7 @@ static int imx9_ioctl(struct net_driver_s *dev, int cmd, if (priv->canfd_capable) { - data_timing.bitrate = req->data_bitrate * 1000; + data_timing.bitrate = req->data_bitrate; data_timing.samplep = req->data_samplep; if (ret == OK && imx9_bitratetotimeseg(&data_timing, 10, 1)) diff --git a/arch/arm/src/imxrt/imxrt_flexcan.c b/arch/arm/src/imxrt/imxrt_flexcan.c index bd7a230dcad..530e58b63ef 100644 --- a/arch/arm/src/imxrt/imxrt_flexcan.c +++ b/arch/arm/src/imxrt/imxrt_flexcan.c @@ -1517,11 +1517,11 @@ static int imxrt_ioctl(struct net_driver_s *dev, int cmd, { struct can_ioctl_data_s *req = (struct can_ioctl_data_s *)((uintptr_t)arg); - req->arbi_bitrate = priv->arbi_timing.bitrate / 1000; /* kbit/s */ + req->arbi_bitrate = priv->arbi_timing.bitrate; req->arbi_samplep = priv->arbi_timing.samplep; if (priv->canfd_capable) { - req->data_bitrate = priv->data_timing.bitrate / 1000; /* kbit/s */ + req->data_bitrate = priv->data_timing.bitrate; req->data_samplep = priv->data_timing.samplep; } else @@ -1540,7 +1540,7 @@ static int imxrt_ioctl(struct net_driver_s *dev, int cmd, (struct can_ioctl_data_s *)((uintptr_t)arg); struct flexcan_timeseg arbi_timing; - arbi_timing.bitrate = req->arbi_bitrate * 1000; + arbi_timing.bitrate = req->arbi_bitrate; arbi_timing.samplep = req->arbi_samplep; if (imxrt_bitratetotimeseg(&arbi_timing, 10, 0)) @@ -1554,7 +1554,7 @@ static int imxrt_ioctl(struct net_driver_s *dev, int cmd, if (priv->canfd_capable) { - data_timing.bitrate = req->data_bitrate * 1000; + data_timing.bitrate = req->data_bitrate; data_timing.samplep = req->data_samplep; if (ret == OK && imxrt_bitratetotimeseg(&data_timing, 10, 1)) diff --git a/arch/arm/src/kinetis/kinetis_flexcan.c b/arch/arm/src/kinetis/kinetis_flexcan.c index a1a824b217e..ccc3d98b591 100644 --- a/arch/arm/src/kinetis/kinetis_flexcan.c +++ b/arch/arm/src/kinetis/kinetis_flexcan.c @@ -1485,10 +1485,10 @@ static int kinetis_ioctl(struct net_driver_s *dev, int cmd, { struct can_ioctl_data_s *req = (struct can_ioctl_data_s *)((uintptr_t)arg); - req->arbi_bitrate = priv->arbi_timing.bitrate / 1000; /* kbit/s */ + req->arbi_bitrate = priv->arbi_timing.bitrate; req->arbi_samplep = priv->arbi_timing.samplep; #ifdef CONFIG_NET_CAN_CANFD - req->data_bitrate = priv->data_timing.bitrate / 1000; /* kbit/s */ + req->data_bitrate = priv->data_timing.bitrate; req->data_samplep = priv->data_timing.samplep; #else req->data_bitrate = 0; @@ -1504,7 +1504,7 @@ static int kinetis_ioctl(struct net_driver_s *dev, int cmd, (struct can_ioctl_data_s *)((uintptr_t)arg); struct flexcan_timeseg arbi_timing; - arbi_timing.bitrate = req->arbi_bitrate * 1000; + arbi_timing.bitrate = req->arbi_bitrate; arbi_timing.samplep = req->arbi_samplep; if (kinetis_bitratetotimeseg(&arbi_timing, 10, 0)) @@ -1518,7 +1518,7 @@ static int kinetis_ioctl(struct net_driver_s *dev, int cmd, #ifdef CONFIG_NET_CAN_CANFD struct flexcan_timeseg data_timing; - data_timing.bitrate = req->data_bitrate * 1000; + data_timing.bitrate = req->data_bitrate; data_timing.samplep = req->data_samplep; if (ret == OK && kinetis_bitratetotimeseg(&data_timing, 10, 1)) diff --git a/arch/arm/src/s32k1xx/s32k1xx_flexcan.c b/arch/arm/src/s32k1xx/s32k1xx_flexcan.c index aa998eca3bd..c9439f4bb46 100644 --- a/arch/arm/src/s32k1xx/s32k1xx_flexcan.c +++ b/arch/arm/src/s32k1xx/s32k1xx_flexcan.c @@ -1468,10 +1468,10 @@ static int s32k1xx_ioctl(struct net_driver_s *dev, int cmd, { struct can_ioctl_data_s *req = (struct can_ioctl_data_s *)((uintptr_t)arg); - req->arbi_bitrate = priv->arbi_timing.bitrate / 1000; /* kbit/s */ + req->arbi_bitrate = priv->arbi_timing.bitrate; req->arbi_samplep = priv->arbi_timing.samplep; #ifdef CONFIG_NET_CAN_CANFD - req->data_bitrate = priv->data_timing.bitrate / 1000; /* kbit/s */ + req->data_bitrate = priv->data_timing.bitrate; req->data_samplep = priv->data_timing.samplep; #else req->data_bitrate = 0; @@ -1487,7 +1487,7 @@ static int s32k1xx_ioctl(struct net_driver_s *dev, int cmd, (struct can_ioctl_data_s *)((uintptr_t)arg); struct flexcan_timeseg arbi_timing; - arbi_timing.bitrate = req->arbi_bitrate * 1000; + arbi_timing.bitrate = req->arbi_bitrate; arbi_timing.samplep = req->arbi_samplep; if (s32k1xx_bitratetotimeseg(&arbi_timing, 10, 0)) @@ -1501,7 +1501,7 @@ static int s32k1xx_ioctl(struct net_driver_s *dev, int cmd, #ifdef CONFIG_NET_CAN_CANFD struct flexcan_timeseg data_timing; - data_timing.bitrate = req->data_bitrate * 1000; + data_timing.bitrate = req->data_bitrate; data_timing.samplep = req->data_samplep; if (ret == OK && s32k1xx_bitratetotimeseg(&data_timing, 10, 1)) diff --git a/arch/arm/src/s32k3xx/s32k3xx_flexcan.c b/arch/arm/src/s32k3xx/s32k3xx_flexcan.c index a5472a1339d..49a978ad2a7 100644 --- a/arch/arm/src/s32k3xx/s32k3xx_flexcan.c +++ b/arch/arm/src/s32k3xx/s32k3xx_flexcan.c @@ -1657,10 +1657,10 @@ static int s32k3xx_ioctl(struct net_driver_s *dev, int cmd, { struct can_ioctl_data_s *req = (struct can_ioctl_data_s *)((uintptr_t)arg); - req->arbi_bitrate = priv->arbi_timing.bitrate / 1000; /* kbit/s */ + req->arbi_bitrate = priv->arbi_timing.bitrate; req->arbi_samplep = priv->arbi_timing.samplep; #ifdef CONFIG_NET_CAN_CANFD - req->data_bitrate = priv->data_timing.bitrate / 1000; /* kbit/s */ + req->data_bitrate = priv->data_timing.bitrate; req->data_samplep = priv->data_timing.samplep; #else req->data_bitrate = 0; @@ -1676,7 +1676,7 @@ static int s32k3xx_ioctl(struct net_driver_s *dev, int cmd, (struct can_ioctl_data_s *)((uintptr_t)arg); struct flexcan_timeseg arbi_timing; - arbi_timing.bitrate = req->arbi_bitrate * 1000; + arbi_timing.bitrate = req->arbi_bitrate; arbi_timing.samplep = req->arbi_samplep; if (s32k3xx_bitratetotimeseg(&arbi_timing, 10, 0, @@ -1691,7 +1691,7 @@ static int s32k3xx_ioctl(struct net_driver_s *dev, int cmd, #ifdef CONFIG_NET_CAN_CANFD struct flexcan_timeseg data_timing; - data_timing.bitrate = req->data_bitrate * 1000; + data_timing.bitrate = req->data_bitrate; data_timing.samplep = req->data_samplep; if (ret == OK && s32k3xx_bitratetotimeseg(&data_timing, 10, 1, diff --git a/arch/arm/src/stm32h7/stm32_fdcan_sock.c b/arch/arm/src/stm32h7/stm32_fdcan_sock.c index 268fa18dfbe..f5455829da4 100644 --- a/arch/arm/src/stm32h7/stm32_fdcan_sock.c +++ b/arch/arm/src/stm32h7/stm32_fdcan_sock.c @@ -1951,9 +1951,9 @@ static int fdcan_netdev_ioctl(struct net_driver_s *dev, int cmd, { struct can_ioctl_data_s *req = (struct can_ioctl_data_s *)((uintptr_t)arg); - req->arbi_bitrate = priv->arbi_timing.bitrate / 1000; /* kbit/s */ + req->arbi_bitrate = priv->arbi_timing.bitrate; #ifdef CONFIG_NET_CAN_CANFD - req->data_bitrate = priv->data_timing.bitrate / 1000; /* kbit/s */ + req->data_bitrate = priv->data_timing.bitrate; #else req->data_bitrate = 0; #endif @@ -1968,9 +1968,9 @@ static int fdcan_netdev_ioctl(struct net_driver_s *dev, int cmd, /* Apply the new timings (interface is guaranteed to be down) */ - priv->arbi_timing.bitrate = req->arbi_bitrate * 1000; + priv->arbi_timing.bitrate = req->arbi_bitrate; #ifdef CONFIG_NET_CAN_CANFD - priv->data_timing.bitrate = req->data_bitrate * 1000; + priv->data_timing.bitrate = req->data_bitrate; #endif ret = OK; } diff --git a/arch/arm64/src/imx9/imx9_flexcan.c b/arch/arm64/src/imx9/imx9_flexcan.c index 7f22b699b68..4d603a005a3 100644 --- a/arch/arm64/src/imx9/imx9_flexcan.c +++ b/arch/arm64/src/imx9/imx9_flexcan.c @@ -1597,11 +1597,11 @@ static int imx9_ioctl(struct net_driver_s *dev, int cmd, struct imx9_driver_s *priv = (struct imx9_driver_s *)dev; struct can_ioctl_data_s *req = (struct can_ioctl_data_s *)((uintptr_t)arg); - req->arbi_bitrate = priv->arbi_timing.bitrate / 1000; /* kbit/s */ + req->arbi_bitrate = priv->arbi_timing.bitrate; req->arbi_samplep = priv->arbi_timing.samplep; if (priv->canfd_capable) { - req->data_bitrate = priv->data_timing.bitrate / 1000; /* kbit/s */ + req->data_bitrate = priv->data_timing.bitrate; req->data_samplep = priv->data_timing.samplep; } else @@ -1622,12 +1622,12 @@ static int imx9_ioctl(struct net_driver_s *dev, int cmd, struct flexcan_timeseg arbi_timing; struct flexcan_timeseg data_timing; - arbi_timing.bitrate = req->arbi_bitrate * 1000; + arbi_timing.bitrate = req->arbi_bitrate; arbi_timing.samplep = req->arbi_samplep; ret = imx9_bitratetotimeseg(priv, &arbi_timing, false); if (ret == OK && priv->canfd_capable) { - data_timing.bitrate = req->data_bitrate * 1000; + data_timing.bitrate = req->data_bitrate; data_timing.samplep = req->data_samplep; ret = imx9_bitratetotimeseg(priv, &data_timing, true); } diff --git a/include/net/if.h b/include/net/if.h index 1992c08ed49..7afcc2d15a3 100644 --- a/include/net/if.h +++ b/include/net/if.h @@ -178,9 +178,9 @@ struct mii_ioctl_data_s struct can_ioctl_data_s { - uint16_t arbi_bitrate; /* Classic CAN / Arbitration phase bitrate kbit/s */ + uint32_t arbi_bitrate; /* Classic CAN / Arbitration phase bitrate bit/s */ uint16_t arbi_samplep; /* Classic CAN / Arbitration phase input % */ - uint16_t data_bitrate; /* Data phase bitrate kbit/s */ + uint32_t data_bitrate; /* Data phase bitrate bit/s */ uint16_t data_samplep; /* Data phase sample point % */ };