Home | History | Annotate | Line # | Download | only in imx
imxi2cvar.h revision 1.1.6.2
      1 /*	$NetBSD: imxi2cvar.h,v 1.1.6.2 2014/08/20 00:02:46 tls Exp $	*/
      2 
      3 /*
      4 * Copyright (c) 2012  Genetec Corporation.  All rights reserved.
      5 * Written by Hashimoto Kenichi for Genetec Corporation.
      6 *
      7 * Redistribution and use in source and binary forms, with or without
      8 * modification, are permitted provided that the following conditions
      9 * are met:
     10 * 1. Redistributions of source code must retain the above copyright
     11 *    notice, this list of conditions and the following disclaimer.
     12 * 2. Redistributions in binary form must reproduce the above copyright
     13 *    notice, this list of conditions and the following disclaimer in the
     14 *    documentation and/or other materials provided with the distribution.
     15 *
     16 * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``AS IS'' AND
     17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     18 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     19 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL GENETEC CORPORATION
     20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     26 * POSSIBILITY OF SUCH DAMAGE.
     27 */
     28 
     29 #ifndef _IMXI2CVAR_H_
     30 #define _IMXI2CVAR_H_
     31 
     32 #include <dev/i2c/i2cvar.h>
     33 
     34 struct imxi2c_softc {
     35 	device_t sc_dev;
     36 	bus_space_tag_t sc_iot;
     37 	bus_space_handle_t sc_ioh;
     38 	struct i2c_controller sc_i2c;
     39 	kmutex_t sc_buslock;
     40 };
     41 
     42 int imxi2c_attach_common(device_t, device_t,
     43     bus_space_tag_t, paddr_t, size_t, int, int);
     44 int imxi2c_set_freq(device_t, long, int);
     45 
     46 /*
     47 * defined in imx51_i2c.c and imx31_i2c.c
     48 */
     49 int imxi2c_match(device_t, cfdata_t, void *);
     50 void imxi2c_attach(device_t, device_t, void *);
     51 
     52 #endif /* _IMXI2CVAR_H_ */
     53 
     54