1.1 --- a/pkg/devices/lib/msc/include/msc-jz4780.h Fri Feb 16 23:11:25 2024 +0100
1.2 +++ b/pkg/devices/lib/msc/include/msc-jz4780.h Sat Feb 17 23:04:12 2024 +0100
1.3 @@ -22,7 +22,6 @@
1.4 #pragma once
1.5
1.6 #include <l4/devices/msc-common.h>
1.7 -#include <l4/re/c/dma_space.h>
1.8 #include <l4/sys/types.h>
1.9 #include <stdint.h>
1.10
1.11 @@ -42,7 +41,9 @@
1.12
1.13 public:
1.14 explicit Msc_jz4780_channel(l4_addr_t msc_start, l4_addr_t addr,
1.15 - l4_cap_idx_t irq, Dma_jz4780_channel *dma,
1.16 + l4_cap_idx_t irq, Cpm_chip *cpm,
1.17 + enum Clock_identifiers clock,
1.18 + Dma_jz4780_channel *dma,
1.19 enum Dma_jz4780_request_type request_type_in,
1.20 enum Dma_jz4780_request_type request_type_out);
1.21
1.22 @@ -57,12 +58,22 @@
1.23
1.24 class Msc_jz4780_chip : public Msc_chip
1.25 {
1.26 -protected:
1.27 +protected:
1.28 + const enum Dma_jz4780_request_type _in_types[3] =
1.29 + {Dma_request_msc0_in, Dma_request_msc1_in, Dma_request_msc2_in};
1.30 +
1.31 + const enum Dma_jz4780_request_type _out_types[3] =
1.32 + {Dma_request_msc0_out, Dma_request_msc1_out, Dma_request_msc2_out};
1.33 +
1.34 + const enum Clock_identifiers _clocks[3] =
1.35 + {Clock_msc0, Clock_msc1, Clock_msc2};
1.36 +
1.37 unsigned int num_channels()
1.38 { return 3; }
1.39
1.40 public:
1.41 - explicit Msc_jz4780_chip(l4_addr_t msc_start, l4_addr_t start, l4_addr_t end);
1.42 + explicit Msc_jz4780_chip(l4_addr_t msc_start, l4_addr_t start, l4_addr_t end,
1.43 + Cpm_chip *cpm);
1.44
1.45 Msc_channel *get_channel(uint8_t channel, l4_cap_idx_t irq,
1.46 Dma_jz4780_channel *dma);
1.47 @@ -74,7 +85,8 @@
1.48
1.49 EXTERN_C_BEGIN
1.50
1.51 -void *jz4780_msc_init(l4_addr_t msc_start, l4_addr_t start, l4_addr_t end);
1.52 +void *jz4780_msc_init(l4_addr_t msc_start, l4_addr_t start, l4_addr_t end,
1.53 + void *cpm);
1.54
1.55 void *jz4780_msc_get_channel(void *msc, uint8_t channel, l4_cap_idx_t irq,
1.56 void *dma);
1.57 @@ -86,7 +98,7 @@
1.58 void jz4780_msc_enable(void *msc_channel);
1.59
1.60 uint32_t jz4780_msc_read_blocks(void *msc_channel, uint8_t card,
1.61 - l4re_dma_space_dma_addr_t paddr,
1.62 + struct dma_region *region,
1.63 uint32_t block_address, uint32_t block_count);
1.64
1.65 EXTERN_C_END