diff options
Diffstat (limited to 'src/devices/machine/s3c2440.h')
-rw-r--r-- | src/devices/machine/s3c2440.h | 115 |
1 files changed, 57 insertions, 58 deletions
diff --git a/src/devices/machine/s3c2440.h b/src/devices/machine/s3c2440.h index 40a92776c3f..0c3f71391d7 100644 --- a/src/devices/machine/s3c2440.h +++ b/src/devices/machine/s3c2440.h @@ -175,7 +175,7 @@ public: auto nand_data_w_callback() { return m_nand_data_w_cb.bind(); } void set_lcd_flags(int flags) { m_flags = flags; } - DECLARE_WRITE_LINE_MEMBER( frnb_w ); + void frnb_w(int state); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -220,22 +220,22 @@ protected: void s3c24xx_video_start(); void bitmap_blend( bitmap_rgb32 &bitmap_dst, bitmap_rgb32 &bitmap_src_1, bitmap_rgb32 &bitmap_src_2); uint32_t s3c24xx_video_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - READ32_MEMBER( s3c24xx_lcd_r ); + uint32_t s3c24xx_lcd_r(offs_t offset, uint32_t mem_mask = ~0); int s3c24xx_lcd_configure_tft(); int s3c24xx_lcd_configure_stn(); int s3c24xx_lcd_configure(); void s3c24xx_lcd_start(); void s3c24xx_lcd_stop(); void s3c24xx_lcd_recalc(); - WRITE32_MEMBER( s3c24xx_lcd_w ); - READ32_MEMBER( s3c24xx_lcd_palette_r ); - WRITE32_MEMBER( s3c24xx_lcd_palette_w ); + void s3c24xx_lcd_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + uint32_t s3c24xx_lcd_palette_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_lcd_palette_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); void s3c24xx_clkpow_reset(); uint32_t s3c24xx_get_fclk(); uint32_t s3c24xx_get_hclk(); uint32_t s3c24xx_get_pclk(); - READ32_MEMBER( s3c24xx_clkpow_r ); - WRITE32_MEMBER( s3c24xx_clkpow_w ); + uint32_t s3c24xx_clkpow_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_clkpow_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); void s3c24xx_irq_reset(); void s3c24xx_check_pending_irq(); void s3c24xx_request_irq(uint32_t int_type); @@ -243,13 +243,13 @@ protected: void s3c24xx_request_subirq( uint32_t int_type); void s3c24xx_check_pending_eint(); void s3c24xx_request_eint(uint32_t number); - READ32_MEMBER( s3c24xx_irq_r ); - WRITE32_MEMBER( s3c24xx_irq_w ); - READ32_MEMBER( s3c24xx_pwm_r ); + uint32_t s3c24xx_irq_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_irq_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + uint32_t s3c24xx_pwm_r(offs_t offset, uint32_t mem_mask = ~0); void s3c24xx_pwm_start(int timer); void s3c24xx_pwm_stop(int timer); void s3c24xx_pwm_recalc(int timer); - WRITE32_MEMBER( s3c24xx_pwm_w ); + void s3c24xx_pwm_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); TIMER_CALLBACK_MEMBER( s3c24xx_pwm_timer_exp ); void s3c24xx_dma_reset(); void s3c24xx_dma_reload(int ch); @@ -261,42 +261,42 @@ protected: void s3c24xx_dma_recalc(int ch); uint32_t s3c24xx_dma_r(uint32_t ch, uint32_t offset); void s3c24xx_dma_w(uint32_t ch, uint32_t offset, uint32_t data, uint32_t mem_mask); - READ32_MEMBER( s3c24xx_dma_0_r ); - READ32_MEMBER( s3c24xx_dma_1_r ); - READ32_MEMBER( s3c24xx_dma_2_r ); - READ32_MEMBER( s3c24xx_dma_3_r ); - WRITE32_MEMBER( s3c24xx_dma_0_w ); - WRITE32_MEMBER( s3c24xx_dma_1_w ); - WRITE32_MEMBER( s3c24xx_dma_2_w ); - WRITE32_MEMBER( s3c24xx_dma_3_w ); + uint32_t s3c24xx_dma_0_r(offs_t offset, uint32_t mem_mask = ~0); + uint32_t s3c24xx_dma_1_r(offs_t offset, uint32_t mem_mask = ~0); + uint32_t s3c24xx_dma_2_r(offs_t offset, uint32_t mem_mask = ~0); + uint32_t s3c24xx_dma_3_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_dma_0_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + void s3c24xx_dma_1_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + void s3c24xx_dma_2_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + void s3c24xx_dma_3_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); TIMER_CALLBACK_MEMBER( s3c24xx_dma_timer_exp ); void s3c24xx_gpio_reset(); inline uint32_t iface_gpio_port_r(int port, uint32_t mask); inline void iface_gpio_port_w(int port, uint32_t mask, uint32_t data); uint16_t s3c24xx_gpio_get_mask( uint32_t con, int val); - READ32_MEMBER( s3c24xx_gpio_r ); - WRITE32_MEMBER( s3c24xx_gpio_w ); - READ32_MEMBER( s3c24xx_memcon_r ); - WRITE32_MEMBER( s3c24xx_memcon_w ); - READ32_MEMBER( s3c24xx_usb_host_r ); - WRITE32_MEMBER( s3c24xx_usb_host_w ); + uint32_t s3c24xx_gpio_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_gpio_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + uint32_t s3c24xx_memcon_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_memcon_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + uint32_t s3c24xx_usb_host_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_usb_host_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); uint32_t s3c24xx_uart_r(uint32_t ch, uint32_t offset); void s3c24xx_uart_w(uint32_t ch, uint32_t offset, uint32_t data, uint32_t mem_mask); - READ32_MEMBER( s3c24xx_uart_0_r ); - READ32_MEMBER( s3c24xx_uart_1_r ); - READ32_MEMBER( s3c24xx_uart_2_r ); - WRITE32_MEMBER( s3c24xx_uart_0_w ); - WRITE32_MEMBER( s3c24xx_uart_1_w ); - WRITE32_MEMBER( s3c24xx_uart_2_w ); + uint32_t s3c24xx_uart_0_r(offs_t offset, uint32_t mem_mask = ~0); + uint32_t s3c24xx_uart_1_r(offs_t offset, uint32_t mem_mask = ~0); + uint32_t s3c24xx_uart_2_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_uart_0_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + void s3c24xx_uart_1_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + void s3c24xx_uart_2_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); void s3c24xx_uart_fifo_w(int uart, uint8_t data); void s3c24xx_usb_device_reset(); - READ32_MEMBER( s3c24xx_usb_device_r ); - WRITE32_MEMBER( s3c24xx_usb_device_w ); - READ32_MEMBER( s3c24xx_wdt_r ); + uint32_t s3c24xx_usb_device_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_usb_device_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + uint32_t s3c24xx_wdt_r(offs_t offset, uint32_t mem_mask = ~0); void s3c24xx_wdt_start(); void s3c24xx_wdt_stop(); void s3c24xx_wdt_recalc(); - WRITE32_MEMBER( s3c24xx_wdt_w ); + void s3c24xx_wdt_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); TIMER_CALLBACK_MEMBER( s3c24xx_wdt_timer_exp ); void s3c24xx_iic_reset(); inline void iface_i2c_scl_w( int state); @@ -309,38 +309,38 @@ protected: void iic_start(); void iic_stop(); void iic_resume(); - READ32_MEMBER( s3c24xx_iic_r ); - WRITE32_MEMBER( s3c24xx_iic_w ); + uint32_t s3c24xx_iic_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_iic_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); TIMER_CALLBACK_MEMBER( s3c24xx_iic_timer_exp ); inline void iface_i2s_data_w(int ch, uint16_t data); void s3c24xx_iis_start(); void s3c24xx_iis_stop(); void s3c24xx_iis_recalc(); - READ32_MEMBER( s3c24xx_iis_r ); - WRITE32_MEMBER( s3c24xx_iis_w ); + uint32_t s3c24xx_iis_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_iis_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); TIMER_CALLBACK_MEMBER( s3c24xx_iis_timer_exp ); - READ32_MEMBER( s3c24xx_rtc_r ); - WRITE32_MEMBER( s3c24xx_rtc_w ); + uint32_t s3c24xx_rtc_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_rtc_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); TIMER_CALLBACK_MEMBER( s3c24xx_rtc_timer_tick_count_exp ); void s3c24xx_rtc_update(); void s3c24xx_rtc_check_alarm(); TIMER_CALLBACK_MEMBER( s3c24xx_rtc_timer_update_exp ); void s3c24xx_adc_reset(); uint32_t iface_adc_data_r(int ch); - READ32_MEMBER( s3c24xx_adc_r ); + uint32_t s3c24xx_adc_r(offs_t offset, uint32_t mem_mask = ~0); void s3c24xx_adc_start(); - WRITE32_MEMBER( s3c24xx_adc_w ); + void s3c24xx_adc_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); void s3c24xx_touch_screen(int state); void s3c24xx_spi_reset(); uint32_t s3c24xx_spi_r(uint32_t ch, uint32_t offset); void s3c24xx_spi_w(uint32_t ch, uint32_t offset, uint32_t data, uint32_t mem_mask); - READ32_MEMBER( s3c24xx_spi_0_r ); - READ32_MEMBER( s3c24xx_spi_1_r ); - WRITE32_MEMBER( s3c24xx_spi_0_w ); - WRITE32_MEMBER( s3c24xx_spi_1_w ); + uint32_t s3c24xx_spi_0_r(offs_t offset, uint32_t mem_mask = ~0); + uint32_t s3c24xx_spi_1_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_spi_0_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + void s3c24xx_spi_1_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); void s3c24xx_sdi_reset(); - READ32_MEMBER( s3c24xx_sdi_r ); - WRITE32_MEMBER( s3c24xx_sdi_w ); + uint32_t s3c24xx_sdi_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_sdi_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); void s3c24xx_nand_reset(); inline void iface_nand_command_w(uint8_t data); inline void iface_nand_address_w(uint8_t data); @@ -353,14 +353,14 @@ protected: void s3c24xx_nand_address_w(uint8_t data); uint8_t s3c24xx_nand_data_r(); void s3c24xx_nand_data_w(uint8_t data); - READ32_MEMBER( s3c24xx_nand_r ); + uint32_t s3c24xx_nand_r(offs_t offset, uint32_t mem_mask = ~0); void s3c24xx_nand_init_ecc(); - WRITE32_MEMBER( s3c24xx_nand_w ); - ATTR_UNUSED WRITE_LINE_MEMBER( s3c24xx_pin_frnb_w ); - READ32_MEMBER( s3c24xx_cam_r ); - WRITE32_MEMBER( s3c24xx_cam_w ); - READ32_MEMBER( s3c24xx_ac97_r ); - WRITE32_MEMBER( s3c24xx_ac97_w ); + void s3c24xx_nand_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + [[maybe_unused]] void s3c24xx_pin_frnb_w(int state); + uint32_t s3c24xx_cam_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_cam_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); + uint32_t s3c24xx_ac97_r(offs_t offset, uint32_t mem_mask = ~0); + void s3c24xx_ac97_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); void s3c24xx_nand_auto_boot(); void s3c24xx_device_reset(); void s3c24xx_device_start(); @@ -607,8 +607,7 @@ private: required_device<arm7_cpu_device> m_cpu; required_device<palette_device> m_palette; required_device<screen_device> m_screen; - - memory_access_cache<2, 0, ENDIANNESS_LITTLE> *m_cache; + memory_access<24, 2, 0, ENDIANNESS_LITTLE>::cache m_cache; uint8_t m_steppingstone[4*1024]; memcon_t m_memcon; |