xref: /linux/drivers/media/common/cypress_firmware.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
279a63c60SHans Verkuil /*
399e44da7SPatrick Boettcher  * Copyright (C) 2004-6 Patrick Boettcher (patrick.boettcher@posteo.de)
479a63c60SHans Verkuil  * see dvb-usb-init.c for copyright information.
579a63c60SHans Verkuil  *
679a63c60SHans Verkuil  * This file contains functions for downloading the firmware to Cypress FX 1
779a63c60SHans Verkuil  * and 2 based devices.
879a63c60SHans Verkuil  *
979a63c60SHans Verkuil  */
1079a63c60SHans Verkuil 
1179a63c60SHans Verkuil #ifndef CYPRESS_FIRMWARE_H
1279a63c60SHans Verkuil #define CYPRESS_FIRMWARE_H
1379a63c60SHans Verkuil 
1479a63c60SHans Verkuil #define CYPRESS_AN2135  0
1579a63c60SHans Verkuil #define CYPRESS_AN2235  1
1679a63c60SHans Verkuil #define CYPRESS_FX2     2
1779a63c60SHans Verkuil 
1879a63c60SHans Verkuil /* commonly used firmware download types and function */
1979a63c60SHans Verkuil struct hexline {
2079a63c60SHans Verkuil 	u8 len;
2179a63c60SHans Verkuil 	u32 addr;
2279a63c60SHans Verkuil 	u8 type;
2379a63c60SHans Verkuil 	u8 data[255];
2479a63c60SHans Verkuil 	u8 chk;
2579a63c60SHans Verkuil };
2679a63c60SHans Verkuil 
2779a63c60SHans Verkuil int cypress_load_firmware(struct usb_device *, const struct firmware *, int);
2879a63c60SHans Verkuil 
2979a63c60SHans Verkuil #endif
30