We develop the NXP pca9552 which controls the leds on our board under linux enviroment.
We want the leds blink on pwm0 1HZ frequency ,so set the pwm0 prescale register value to 43,according to the datasheet 6.3.3, https://www.nxp.com/docs/en/data-sheet/PCA9551.pdf ,the blink rate should be ((PSC0 + 1) / 44 = (43+1) /44 =1 hz
But when we measure the waveform of the leds, the blink rate is 1.2 second, not 1 second.
After looking the leds-pca955x.c source file in linux driver ,it notices " Write to frequency prescaler register, used to program the period of the PWM output. period = (PSCx + 1) / 38 "
Then we set the pwm0 prescale0 to 36, the blink frequency is 1 second ,is more accurate then set it to 43 before
From the the pca9551 datasheet ,it notice the blink rate is (PSCx + 1) / 38 PCA9551 | NXP
We are confused if the PCA9552 pwm prescale register blink rate should also be (PSCx + 1) / 38 , not be (PSCx + 1) / 44 ? The datasheet may be not right ,according to our measure.
Look forwarding your help