zephyr/drivers/clock_control
Michal Sieron 2e9154a418 soc: litex-vexriscv: Rewrite litex_read/write
Changes signature so it takes uint32_t instead of pointer to a
register.
Later `sys_read*` and `sys_write*` functions are used, which cast
given address to volatile pointer anyway.

This required changing types of some fields in LiteX GPIO driver and
removal of two casts in clock control driver.

There was a weird assert from LiteX GPIO driver, which checked whether
size of first register in dts was a multiple of 4.
It didn't make much sense, so I removed it.

Previous dts was describing size of a register in terms of subregisters
used. New one uses size of register, so right now it is almost always
4 bytes.

Most drivers don't read register size from dts anyway, so only changes
had to be made in GPIO and clock control drivers.

Both use `litex_read` and `litex_write` to operate on `n`bytes.
Now GPIO driver calculates this `n` value in compile time from given
number of pins and stores it in `reg_size` field of config struct like
before.

Registe sizes in clock control driver are hardcoded, because they are
tied to LiteX wrapper anyway.

This makes it possible to have code, independent of CSR data width.

Signed-off-by: Michal Sieron <msieron@internships.antmicro.com>
2022-04-29 16:11:53 +02:00
..
beetle_clock_control.c drivers: clock_control: Refactor drivers to use shared init priority 2021-10-19 23:05:25 -04:00
clock_agilex_ll.c
clock_agilex.c drivers: clock_control: Refactor drivers to use shared init priority 2021-10-19 23:05:25 -04:00
clock_control_esp32.c soc: esp32c3: fix cpu vendor name 2022-01-20 13:33:29 -05:00
clock_control_esp32c3.c clock_control: esp32c3: added clock control 2021-10-27 15:09:08 -04:00
clock_control_litex.c soc: litex-vexriscv: Rewrite litex_read/write 2022-04-29 16:11:53 +02:00
clock_control_litex.h soc: litex-vexriscv: Rewrite litex_read/write 2022-04-29 16:11:53 +02:00
clock_control_lpc11u6x.c drivers: clock_control: drop DEV_DATA/DEV_CFG usage 2022-01-19 18:16:02 +01:00
clock_control_lpc11u6x.h everywhere: fix typos 2022-03-18 13:24:08 -04:00
clock_control_mchp_xec.c everywhere: fix typos 2022-03-18 13:24:08 -04:00
clock_control_mcux_ccm_rev2.c driver: clock: fix freq get error for clock audio 2022-01-28 10:06:53 +01:00
clock_control_mcux_ccm.c divers: clock_control: refine multiple uart instance support 2022-04-08 10:31:04 -05:00
clock_control_mcux_mcg.c drivers: clock_control: Refactor drivers to use shared init priority 2021-10-19 23:05:25 -04:00
clock_control_mcux_pcc.c drivers: clock_control: drop DEV_DATA/DEV_CFG usage 2022-01-19 18:16:02 +01:00
clock_control_mcux_scg.c drivers: clock_control: Refactor drivers to use shared init priority 2021-10-19 23:05:25 -04:00
clock_control_mcux_sim.c drivers: clock_control: Refactor drivers to use shared init priority 2021-10-19 23:05:25 -04:00
clock_control_mcux_syscon.c drivers: clock_control: lpc: syscon: Add BUSCLK support 2022-03-24 10:44:27 +01:00
clock_control_npcx.c driver: clock_control: npcx: power down some modules by default 2022-02-21 21:55:16 -05:00
clock_control_nrf.c everywhere: fix typos 2022-03-18 13:24:08 -04:00
clock_control_rcar_cpg_mssr.c drivers: clock_control: drop DEV_DATA/DEV_CFG usage 2022-01-19 18:16:02 +01:00
clock_control_rv32m1_pcc.c drivers: clock_control: drop DEV_DATA/DEV_CFG usage 2022-01-19 18:16:02 +01:00
clock_stm32_ll_common.c drivers/clock_control: stm32 common: Remove intermediate hclk variable 2022-04-21 14:09:44 +02:00
clock_stm32_ll_common.h drivers/clock_control: stm32_common: Add elementary PLL configuration step 2022-04-21 14:09:44 +02:00
clock_stm32_ll_h7.c drivers: clock_control: Make LSE driving configurable 2022-04-29 16:11:34 +02:00
clock_stm32_ll_mp1.c drivers: clock_control: Refactor drivers to use shared init priority 2021-10-19 23:05:25 -04:00
clock_stm32_ll_u5.c drivers: clock_control: Make LSE driving configurable 2022-04-29 16:11:34 +02:00
clock_stm32f0_f3.c drivers/clock_control: stm32_common: Add elementary PLL configuration step 2022-04-21 14:09:44 +02:00
clock_stm32f1.c drivers/clock_control: stm32_common: Add elementary PLL configuration step 2022-04-21 14:09:44 +02:00
clock_stm32f2_f4_f7.c drivers/clock_control: stm32_common: Add elementary PLL configuration step 2022-04-21 14:09:44 +02:00
clock_stm32g0.c drivers/clock_control: stm32_common: Add elementary PLL configuration step 2022-04-21 14:09:44 +02:00
clock_stm32g4.c drivers: clock_control: Make LSE driving configurable 2022-04-29 16:11:34 +02:00
clock_stm32l0_l1.c drivers/clock_control: stm32_common: Add elementary PLL configuration step 2022-04-21 14:09:44 +02:00
clock_stm32l4_l5_wb_wl.c drivers: clock_control: Make LSE driving configurable 2022-04-29 16:11:34 +02:00
CMakeLists.txt clock: esp32: unify clock control for all espressif socs 2021-11-04 15:21:26 -04:00
Kconfig clock: esp32: unify clock control for all espressif socs 2021-11-04 15:21:26 -04:00
Kconfig.beetle kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.esp32 clock: esp32: unify clock control for all espressif socs 2021-11-04 15:21:26 -04:00
Kconfig.esp32c3 clock_control: esp32c3: added clock control 2021-10-27 15:09:08 -04:00
Kconfig.litex
Kconfig.lpc11u6x kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.mcux_ccm
Kconfig.mcux_ccm_rev2
Kconfig.mcux_mcg
Kconfig.mcux_pcc
Kconfig.mcux_scg
Kconfig.mcux_sim
Kconfig.mcux_syscon
Kconfig.npcx
Kconfig.nrf everywhere: fix typos 2022-03-18 13:24:08 -04:00
Kconfig.rcar
Kconfig.rv32m1
Kconfig.stm32 drivers/clock_control: stm32: Remove CLOCK_STM32_ Kconfig symbols 2021-11-03 16:19:06 -04:00
Kconfig.xec
nrf_clock_calibration.c drivers: clock_control: nrf_clock_calibration: remove errata workaround 2022-03-23 17:16:12 +01:00
nrf_clock_calibration.h