lpc176x: Introduce get_pclock_frequency()

Add get_pclock_frequency() - a standard way of obtaining the
peripheral clock frequency.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor
2021-03-24 19:45:43 -04:00
parent 964e3cc456
commit 6cab7bcfcb
6 changed files with 23 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
// I2C functions on lpc176x
//
// Copyright (C) 2018 Kevin O'Connor <kevin@koconnor.net>
// Copyright (C) 2018-2021 Kevin O'Connor <kevin@koconnor.net>
//
// This file may be distributed under the terms of the GNU GPLv3 license.
@@ -54,7 +54,8 @@ i2c_setup(uint32_t bus, uint32_t rate, uint8_t addr)
// Set 100Khz frequency
enable_pclock(info->pclk);
uint32_t pclk = SystemCoreClock, pulse = pclk / (100000 * 2);
uint32_t pclk = get_pclock_frequency(info->pclk);
uint32_t pulse = pclk / (100000 * 2);
i2c->I2SCLL = pulse;
i2c->I2SCLH = pulse;