Hi Marc, > On 02/29/2016 11:00 AM, Marc Kleine-Budde wrote: > > I think it's better to fix the algorithm. I'll look into it. > > What about: > > > ./can-calc-bit-timing -c 39999998 rcar_can > > Bit timing parameters for rcar_can with 39.999998 MHz ref clock > > nominal real Bitrt nom real SampP > > Bitrate TQ[ns] PrS PhS1 PhS2 SJW BRP Bitrate Error SampP SampP Error > CiBCR > > 1000000 125 2 3 2 1 5 999999 0.0% 75.0% 75.0% 0.0% > 0x40040100 > > 800000 125 3 4 2 1 5 799999 0.0% 80.0% 80.0% 0.0% > 0x60040100 > > 500000 125 6 7 2 1 5 499999 0.0% 87.5% 87.5% 0.0% > 0xc0040100 > > 250000 250 6 7 2 1 10 249999 0.0% 87.5% 87.5% 0.0% > 0xc0090100 > > 125000 500 6 7 2 1 20 124999 0.0% 87.5% 87.5% 0.0% > 0xc0130100 > > 100000 625 6 7 2 1 25 99999 0.0% 87.5% 87.5% 0.0% > 0xc0180100 > > 50000 1250 6 7 2 1 50 49999 0.0% 87.5% 87.5% 0.0% > 0xc0310100 > > 20000 3125 6 7 2 1 125 19999 0.0% 87.5% 87.5% 0.0% > 0xc07c0100 > > 10000 6250 6 7 2 1 250 9999 0.0% 87.5% 87.5% 0.0% > 0xc0f90100 >
I think, it should be correct. Can I have the patch please(can-utils or kernel)? I'll give it a go. Manual e.g. shows, for 1Mbps and 40MHz clock, two settings are possible 10Tq -> BRP 4 20Tq -> BRP 2 Condition is TSEG1 > TSEG2 >= SJW & bitrate = clock freq/(brp * number of Tq) Your e.g. satisfies the condition and hopefully it should be OK. Thanks, Ramesh