1.1 --- a/pkg/devices/lib/tcu/src/jz4780.cc Thu Feb 01 22:40:19 2024 +0100
1.2 +++ b/pkg/devices/lib/tcu/src/jz4780.cc Thu Feb 01 22:41:30 2024 +0100
1.3 @@ -25,8 +25,9 @@
1.4
1.5 // Channel abstraction.
1.6
1.7 -Tcu_jz4780_channel::Tcu_jz4780_channel(l4_addr_t addr, uint8_t channel)
1.8 -: Tcu_channel(addr, channel)
1.9 +Tcu_jz4780_channel::Tcu_jz4780_channel(l4_addr_t addr, uint8_t channel,
1.10 + l4_cap_idx_t irq)
1.11 +: Tcu_channel(addr, channel, irq)
1.12 {
1.13 }
1.14
1.15 @@ -39,9 +40,10 @@
1.16 {
1.17 }
1.18
1.19 -Tcu_channel *Tcu_jz4780_chip::_get_channel(l4_addr_t addr, uint8_t channel)
1.20 +Tcu_channel *Tcu_jz4780_chip::_get_channel(l4_addr_t addr, uint8_t channel,
1.21 + l4_cap_idx_t irq)
1.22 {
1.23 - return new Tcu_jz4780_channel(addr, channel);
1.24 + return new Tcu_jz4780_channel(addr, channel, irq);
1.25 }
1.26
1.27
1.28 @@ -53,9 +55,9 @@
1.29 return (void *) new Tcu_jz4780_chip(tcu_base, tcu_base_end);
1.30 }
1.31
1.32 -void *jz4780_tcu_get_channel(void *tcu, uint8_t channel)
1.33 +void *jz4780_tcu_get_channel(void *tcu, uint8_t channel, l4_cap_idx_t irq)
1.34 {
1.35 - return static_cast<Tcu_jz4780_chip *>(tcu)->get_channel(channel);
1.36 + return static_cast<Tcu_jz4780_chip *>(tcu)->get_channel(channel, irq);
1.37 }
1.38
1.39 void jz4780_tcu_disable(void *tcu_channel)
1.40 @@ -132,3 +134,33 @@
1.41 {
1.42 static_cast<Tcu_jz4780_channel *>(tcu_channel)->set_full_data_value(value);
1.43 }
1.44 +
1.45 +int jz4780_tcu_get_full_data_mask(void *tcu_channel)
1.46 +{
1.47 + return static_cast<Tcu_jz4780_channel *>(tcu_channel)->get_full_data_mask();
1.48 +}
1.49 +
1.50 +void jz4780_tcu_set_full_data_mask(void *tcu_channel, int masked)
1.51 +{
1.52 + static_cast<Tcu_jz4780_channel *>(tcu_channel)->set_full_data_mask(masked);
1.53 +}
1.54 +
1.55 +int jz4780_tcu_get_half_data_mask(void *tcu_channel)
1.56 +{
1.57 + return static_cast<Tcu_jz4780_channel *>(tcu_channel)->get_half_data_mask();
1.58 +}
1.59 +
1.60 +void jz4780_tcu_set_half_data_mask(void *tcu_channel, int masked)
1.61 +{
1.62 + static_cast<Tcu_jz4780_channel *>(tcu_channel)->set_half_data_mask(masked);
1.63 +}
1.64 +
1.65 +int jz4780_tcu_have_interrupt(void *tcu_channel)
1.66 +{
1.67 + return static_cast<Tcu_jz4780_channel *>(tcu_channel)->have_interrupt();
1.68 +}
1.69 +
1.70 +int jz4780_tcu_wait_for_irq(void *tcu_channel, unsigned int timeout)
1.71 +{
1.72 + return static_cast<Tcu_jz4780_channel *>(tcu_channel)->wait_for_irq(timeout);
1.73 +}