zephyr/dts/riscv
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
..
espressif esp32/s2/c3: dts: uart: remove peripheral property 2022-04-20 13:27:47 +02:00
gigadevice dts: riscv: gigadevice: gd32vf103: add spi1 2022-04-22 09:45:07 +02:00
ite ITE drivers/interrupt_controller: add wuc interface 2022-03-21 16:35:03 -07:00
starfive boards: risc-v: add BeagleV Starlight JH7100 board support 2021-06-22 08:45:00 -04:00
andes_v5_ae350.dtsi dts: riscv: add DTS and related bindings of andes_ae350 soc 2021-08-30 13:40:14 -04:00
it8xxx2-alts-map.dtsi ITE: drivers/adc: implement ADC channels 13-16 2022-03-04 09:03:04 -06:00
it8xxx2.dtsi dts: bindings: pwm: ite,it8xxx2-pwm: add PWM period cell 2022-04-24 19:48:43 +02:00
microsemi-miv.dtsi dts: bindings: add IRQ priority support for SiFive PLIC 2021-01-14 12:43:58 -06:00
neorv32.dtsi dts: riscv: neorv32: add trng devicetree node 2021-10-26 17:53:15 -04:00
riscv32-fe310.dtsi dts: riscv: riscv32-fe310: include PWM dt-bindings 2022-04-28 10:25:16 +02:00
riscv32-litex-vexriscv.dtsi soc: litex-vexriscv: Rewrite litex_read/write 2022-04-29 16:11:53 +02:00
riscv64-fu540.dtsi soc: riscv: sifive-freedom: Get coreclk and peripheral clock from DTS. 2022-04-05 12:00:03 +02:00
riscv64-fu740.dtsi soc: riscv: sifive-freedom: Get coreclk and peripheral clock from DTS. 2022-04-05 12:00:03 +02:00
rv32m1.dtsi dts: riscv: rv32m1: include PWM dt-bindings by default 2022-04-22 10:41:30 -05:00
rv32m1_ri5cy.dtsi
rv32m1_zero_riscy.dtsi
telink_b91.dtsi dts: bindings: pwm: telink,b91-pwm: add PWM period cell 2022-04-24 19:48:49 +02:00
virt.dtsi soc/riscv: add the QEMU "RISC-V VirtIO board" 2021-01-15 13:06:33 -05:00