blob: 03be3882f886323ea2fd5ff72da749e271d11eb1 [file] [log] [blame]
Hugo Villeneuve4e352ef2008-07-11 15:10:13 -04001/*
2 * Copyright (C) 2008 Lyrtech <www.lyrtech.com>
3 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02004 * SPDX-License-Identifier: GPL-2.0+
Hugo Villeneuve4e352ef2008-07-11 15:10:13 -04005 */
6
7#ifndef __MISC_H
8#define __MISC_H
9
Nick Thompson68bfdc82009-11-12 11:03:23 -050010/* pin muxer definitions */
11#define PIN_MUX_NUM_FIELDS 8 /* Per register */
12#define PIN_MUX_FIELD_SIZE 4 /* n in bits */
13#define PIN_MUX_FIELD_MASK ((1 << PIN_MUX_FIELD_SIZE) - 1)
14
15/* pin definition */
16struct pinmux_config {
17 dv_reg *mux; /* Address of mux register */
18 unsigned char value; /* Value to set in field */
19 unsigned char field; /* field number */
20};
Hugo Villeneuve4e352ef2008-07-11 15:10:13 -040021
Nick Thompsonced18552009-12-12 12:10:51 -050022/* pin table definition */
23struct pinmux_resource {
24 const struct pinmux_config *pins;
25 const int n_pins;
26};
27
28#define PINMUX_ITEM(item) { \
29 .pins = item, \
30 .n_pins = ARRAY_SIZE(item) \
31 }
32
Stefano Babic6470f732010-11-30 11:32:10 -050033struct lpsc_resource {
34 const int lpsc_no;
35};
36
Hugo Villeneuve4e352ef2008-07-11 15:10:13 -040037int dvevm_read_mac_address(uint8_t *buf);
Ben Gardiner1fb49e32010-09-23 09:58:43 -040038void davinci_sync_env_enetaddr(uint8_t *rom_enetaddr);
Nick Thompson68bfdc82009-11-12 11:03:23 -050039int davinci_configure_pin_mux(const struct pinmux_config *pins, int n_pins);
Nick Thompsonced18552009-12-12 12:10:51 -050040int davinci_configure_pin_mux_items(const struct pinmux_resource *item,
41 int n_items);
Laurence Withersb2c2c632011-07-18 09:53:14 -040042#if defined(CONFIG_DRIVER_TI_EMAC) && defined(CONFIG_SOC_DA8XX)
Stefano Babic6470f732010-11-30 11:32:10 -050043void davinci_emac_mii_mode_sel(int mode_sel);
44#endif
45#if defined(CONFIG_SOC_DA8XX)
46void irq_init(void);
47int da8xx_configure_lpsc_items(const struct lpsc_resource *item,
48 const int n_items);
49#endif
Hugo Villeneuve4e352ef2008-07-11 15:10:13 -040050
51#endif /* __MISC_H */