11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Definitions for talking to the CUDA.  The CUDA is a microcontroller
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * which controls the ADB, system power, RTC, and various other things.
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Copyright (C) 1996 Paul Mackerras.
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
8fde28451359b476ba065a9a16fa83aa44168fe59David Howells#ifndef _LINUX_CUDA_H
9fde28451359b476ba065a9a16fa83aa44168fe59David Howells#define _LINUX_CUDA_H
10fde28451359b476ba065a9a16fa83aa44168fe59David Howells
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* CUDA commands (2nd byte) */
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_WARM_START		0
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_AUTOPOLL		1
141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_GET_6805_ADDR	2
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_GET_TIME		3
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_GET_PRAM		7
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_SET_6805_ADDR	8
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_SET_TIME		9
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_POWERDOWN		0xa
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_POWERUP_TIME	0xb
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_SET_PRAM		0xc
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_MS_RESET		0xd
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_SEND_DFAC		0xe
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_RESET_SYSTEM	0x11
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_SET_IPL		0x12
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_SET_AUTO_RATE	0x14
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_GET_AUTO_RATE	0x16
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_SET_DEVICE_LIST	0x19
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_GET_DEVICE_LIST	0x1a
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CUDA_GET_SET_IIC	0x22
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifdef __KERNEL__
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern int find_via_cuda(void);
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern int cuda_request(struct adb_request *req,
361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			void (*done)(struct adb_request *), int nbytes, ...);
371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void cuda_poll(void);
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif	/* __KERNEL */
40fde28451359b476ba065a9a16fa83aa44168fe59David Howells
41fde28451359b476ba065a9a16fa83aa44168fe59David Howells#endif /* _LINUX_CUDA_H */
42