18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * linux/arch/arm/kernel/dma-ebsa285.c 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 1998 Phil Blundell 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * DMA functions specific to EBSA-285/CATS architectures 88c2ecf20Sopenharmony_ci * 98c2ecf20Sopenharmony_ci * Changelog: 108c2ecf20Sopenharmony_ci * 09-Nov-1998 RMK Split out ISA DMA functions to dma-isa.c 118c2ecf20Sopenharmony_ci * 17-Mar-1999 RMK Allow any EBSA285-like architecture to have 128c2ecf20Sopenharmony_ci * ISA DMA controllers. 138c2ecf20Sopenharmony_ci */ 148c2ecf20Sopenharmony_ci#include <linux/init.h> 158c2ecf20Sopenharmony_ci#include <linux/io.h> 168c2ecf20Sopenharmony_ci#include <linux/spinlock.h> 178c2ecf20Sopenharmony_ci#include <linux/scatterlist.h> 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci#include <asm/dma.h> 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci#include <asm/mach/dma.h> 228c2ecf20Sopenharmony_ci#include <asm/hardware/dec21285.h> 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci#if 0 258c2ecf20Sopenharmony_cistatic int fb_dma_request(unsigned int chan, dma_t *dma) 268c2ecf20Sopenharmony_ci{ 278c2ecf20Sopenharmony_ci return -EINVAL; 288c2ecf20Sopenharmony_ci} 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_cistatic void fb_dma_enable(unsigned int chan, dma_t *dma) 318c2ecf20Sopenharmony_ci{ 328c2ecf20Sopenharmony_ci} 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_cistatic void fb_dma_disable(unsigned int chan, dma_t *dma) 358c2ecf20Sopenharmony_ci{ 368c2ecf20Sopenharmony_ci} 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_cistatic struct dma_ops fb_dma_ops = { 398c2ecf20Sopenharmony_ci .type = "fb", 408c2ecf20Sopenharmony_ci .request = fb_dma_request, 418c2ecf20Sopenharmony_ci .enable = fb_dma_enable, 428c2ecf20Sopenharmony_ci .disable = fb_dma_disable, 438c2ecf20Sopenharmony_ci}; 448c2ecf20Sopenharmony_ci#endif 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_cistatic int __init fb_dma_init(void) 478c2ecf20Sopenharmony_ci{ 488c2ecf20Sopenharmony_ci#if 0 498c2ecf20Sopenharmony_ci dma[_DC21285_DMA(0)].d_ops = &fb_dma_ops; 508c2ecf20Sopenharmony_ci dma[_DC21285_DMA(1)].d_ops = &fb_dma_ops; 518c2ecf20Sopenharmony_ci#endif 528c2ecf20Sopenharmony_ci#ifdef CONFIG_ISA_DMA 538c2ecf20Sopenharmony_ci if (footbridge_cfn_mode()) 548c2ecf20Sopenharmony_ci isa_init_dma(); 558c2ecf20Sopenharmony_ci#endif 568c2ecf20Sopenharmony_ci return 0; 578c2ecf20Sopenharmony_ci} 588c2ecf20Sopenharmony_cicore_initcall(fb_dma_init); 59