Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decoupling system timer from non-timer areas #15363

Open
pizi-nordic opened this issue Apr 11, 2019 · 2 comments
Open

Decoupling system timer from non-timer areas #15363

pizi-nordic opened this issue Apr 11, 2019 · 2 comments
Assignees
Labels
area: Clock Control area: Devicetree Enhancement Changes/Updates/Additions to existing features

Comments

@pizi-nordic
Copy link
Collaborator

At the moment the system timer frequency is used in many places due to lack of infrastructure needed to pass clock information to the drivers and SoC initialization code.

As we are going to have selectable system clock source, this becomes a a problem as system timer frequency might be no longer equal to system bus frequency driving given peripheral, leading to misconfigured devices.

For some peripherals (like UART and SPI), the solution is simple: There is a 'clock-frequency' property which can be used to pass required information.

Other peripherals are a bit problematic: For example the I2C already uses this property to specify I2C bus speed. So we have to introduce a new property to pass the information (see: https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/i2c/i2c-ocores.txt).

Also, we need a 'clock-frequency' property on CPU node in order to pass clocking information to SoC initialization code. Unfortunately it looks that our DTS infrastructure cannot extract information from CPU entries.

@pizi-nordic
Copy link
Collaborator Author

FYI: @ioannisg, @carlescufi, @mbolivar

@pizi-nordic pizi-nordic changed the title Decoupling system timer from non-timer relaated areas Decoupling system timer from non-timer areas Apr 11, 2019
@SebastianBoe
Copy link
Collaborator

Unfortunately it looks that our DTS infrastructure cannot extract information from CPU entries.

Last I checked there was no DT binding for the CPU node so AFAICT all CPU DTS code is dead code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Clock Control area: Devicetree Enhancement Changes/Updates/Additions to existing features
Projects
None yet
Development

No branches or pull requests

7 participants