Blame view

include/ide.h 1.87 KB
83d290c56   Tom Rini   SPDX: Convert all...
1
  /* SPDX-License-Identifier: GPL-2.0+ */
0f9cfa09d   wdenk   Initial revision
2
3
4
  /*
   * (C) Copyright 2000
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
0f9cfa09d   wdenk   Initial revision
5
6
7
8
   */
  
  #ifndef	_IDE_H
  #define _IDE_H
1a73661bc   Simon Glass   dm: Add a new hea...
9
  #include <blk.h>
8a10180d6   Luka Perkov   ide: Correct IDE_...
10
  #define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))
0f9cfa09d   wdenk   Initial revision
11

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
12
  #define	ATA_CURR_BASE(dev)	(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])
f5b82c0f9   Pavel Herrmann   change all versio...
13
  extern ulong ide_bus_offset[];
f98984cb1   Heiko Schocher   IDE: - make ide_i...
14

0f9cfa09d   wdenk   Initial revision
15
16
17
  /*
   * Function Prototypes
   */
735dd97b1   Grant Likely   [PATCH 1_4] Merge...
18
  void ide_init(void);
4101f6879   Simon Glass   dm: Drop the bloc...
19
  struct blk_desc;
145df842b   Simon Glass   dm: ide: Add supp...
20
21
22
23
24
25
26
  struct udevice;
  #ifdef CONFIG_BLK
  ulong ide_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
  	       void *buffer);
  ulong ide_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
  		const void *buffer);
  #else
4101f6879   Simon Glass   dm: Drop the bloc...
27
  ulong ide_read(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t blkcnt,
7c4213f6a   Stephen Warren   block: pass block...
28
  	       void *buffer);
4101f6879   Simon Glass   dm: Drop the bloc...
29
  ulong ide_write(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t blkcnt,
ff8fef566   Sascha Silbe   Fix block device ...
30
  		const void *buffer);
145df842b   Simon Glass   dm: ide: Add supp...
31
  #endif
0f9cfa09d   wdenk   Initial revision
32

8d1165e11   Pavel Herrmann   split mpc8xx hook...
33
34
35
  #ifdef CONFIG_IDE_PREINIT
  int ide_preinit(void);
  #endif
3887c3fbd   Heiko Schocher   mucmc52, uc101: d...
36
37
38
  #if defined(CONFIG_OF_IDE_FIXUP)
  int ide_device_present(int dev);
  #endif
0abddf82d   Macpaul Lin   cmd_ide: enhance ...
39
40
41
42
43
  
  #if defined(CONFIG_IDE_AHB)
  unsigned char ide_read_register(int dev, unsigned int port);
  void ide_write_register(int dev, unsigned int port, unsigned char val);
  void ide_read_data(int dev, ulong *sect_buf, int words);
c575180ba   Gabor Juhos   block: constify s...
44
  void ide_write_data(int dev, const ulong *sect_buf, int words);
0abddf82d   Macpaul Lin   cmd_ide: enhance ...
45
  #endif
f5b82c0f9   Pavel Herrmann   change all versio...
46
47
48
49
  
  /*
   * I/O function overrides
   */
288afdc9b   Jeroen Hofstee   common: cmd_ide: ...
50
51
  unsigned char ide_inb(int dev, int port);
  void ide_outb(int dev, int port, unsigned char val);
f5b82c0f9   Pavel Herrmann   change all versio...
52
53
54
55
56
  void ide_input_swap_data(int dev, ulong *sect_buf, int words);
  void ide_input_data(int dev, ulong *sect_buf, int words);
  void ide_output_data(int dev, const ulong *sect_buf, int words);
  void ide_input_data_shorts(int dev, ushort *sect_buf, int shorts);
  void ide_output_data_shorts(int dev, ushort *sect_buf, int shorts);
288afdc9b   Jeroen Hofstee   common: cmd_ide: ...
57
  void ide_led(uchar led, uchar status);
c2240d4db   Simon Glass   Adjust board_r.c ...
58
59
60
61
62
63
  /**
   * board_start_ide() - Start up the board IDE interfac
   *
   * @return 0 if ok
   */
  int board_start_ide(void);
0f9cfa09d   wdenk   Initial revision
64
  #endif /* _IDE_H */