nrfx/nrf52840_bitfields.h not define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV6-2.
But nrf52_bitfields.h is defined this.
nrf52840's datasheet is written,MCKFREQ 32MDIV2-32MDIV125.
Why?
nrfx/nrf52840_bitfields.h not define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV6-2.
But nrf52_bitfields.h is defined this.
nrf52840's datasheet is written,MCKFREQ 32MDIV2-32MDIV125.
Why?
Hi.
What is I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV6-2? Where did you find it?
I cant fint 32MDIV6-2 in the datasheet.

Best regards,
Andreas
Sorry,
Additional follow.
NordicSemiconductor/nrfx repository Tag.v1.6.2
nrfx/mdk/nrf52_bitfields.h
line:2442
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV11 (0x16000000UL) /*!< 32 MHz / 11 = 2.9090909 MHz */
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV10 (0x18000000UL) /*!< 32 MHz / 10 = 3.2 MHz */
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV8 (0x20000000UL) /*!< 32 MHz / 8 = 4.0 MHz */
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV6 (0x28000000UL) /*!< 32 MHz / 6 = 5.3333333 MHz */
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV5 (0x30000000UL) /*!< 32 MHz / 5 = 6.4 MHz */
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV4 (0x40000000UL) /*!< 32 MHz / 4 = 8.0 MHz */
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV3 (0x50000000UL) /*!< 32 MHz / 3 = 10.6666667 MHz */
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV2 (0x80000000UL) /*!< 32 MHz / 2 = 16.0 MHz */
nrfx/mdk/nrf52840_bitfields.h
line:2306
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV11 (0x16000000UL) /*!< 32 MHz / 11 = 2.9090909 MHz */
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV10 (0x18000000UL) /*!< 32 MHz / 10 = 3.2 MHz */
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV8 (0x20000000UL) /*!< 32 MHz / 8 = 4.0 MHz */
Why not define in nrf52840_bitfields.h follows?
I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV6
I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV5
I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV4
I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV3
I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV2
Hi.
I understand your question now, and I have found an answer as well :-)
The defines:
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV6 (0x28000000UL) /*!< 32 MHz / 6 = 5.3333333 MHz */ #define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV5 (0x30000000UL) /*!< 32 MHz / 5 = 6.4 MHz */ #define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV4 (0x40000000UL) /*!< 32 MHz / 4 = 8.0 MHz */ #define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV3 (0x50000000UL) /*!< 32 MHz / 3 = 10.6666667 MHz */ #define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV2 (0x80000000UL) /*!< 32 MHz / 2 = 16.0 MHz */
Are out of spec, as you can read on this GitHub link.
The documentation will soon be updated, and they will also be removed from the documentation. I have reported to our development team that these 5 defines still exist in nrfx/mdk/nrf52_bitfields.h and they will be removed.
Thanks for noticing this.
Best regards,
Andreas
Hi.
I understand your question now, and I have found an answer as well :-)
The defines:
#define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV6 (0x28000000UL) /*!< 32 MHz / 6 = 5.3333333 MHz */ #define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV5 (0x30000000UL) /*!< 32 MHz / 5 = 6.4 MHz */ #define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV4 (0x40000000UL) /*!< 32 MHz / 4 = 8.0 MHz */ #define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV3 (0x50000000UL) /*!< 32 MHz / 3 = 10.6666667 MHz */ #define I2S_CONFIG_MCKFREQ_MCKFREQ_32MDIV2 (0x80000000UL) /*!< 32 MHz / 2 = 16.0 MHz */
Are out of spec, as you can read on this GitHub link.
The documentation will soon be updated, and they will also be removed from the documentation. I have reported to our development team that these 5 defines still exist in nrfx/mdk/nrf52_bitfields.h and they will be removed.
Thanks for noticing this.
Best regards,
Andreas