/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Support for Intel Camera Imaging ISP subsystem.
 * Copyright (c) 2015, Intel Corporation.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 */

#ifndef __IA_CSS_PRBS_H
#define __IA_CSS_PRBS_H

/* @file
 * This file contains support for Pseudo Random Bit Sequence (PRBS) inputs
 */

/* Enumerate the PRBS IDs.
 */
enum ia_css_prbs_id {
	IA_CSS_PRBS_ID0,
	IA_CSS_PRBS_ID1,
	IA_CSS_PRBS_ID2
};

/**
 * Maximum number of PRBS IDs.
 *
 * Make sure the value of this define gets changed to reflect the correct
 * number of ia_css_prbs_id enum if you add/delete an item in the enum.
 */
#define N_CSS_PRBS_IDS (IA_CSS_PRBS_ID2 + 1)

/**
 * PRBS configuration structure.
 *
 * Seed the for the Pseudo Random Bit Sequence.
 *
 * @deprecated{This interface is deprecated, it is not portable -> move to input system API}
 */
struct ia_css_prbs_config {
	enum ia_css_prbs_id	id;
	unsigned int		h_blank;	/** horizontal blank */
	unsigned int		v_blank;	/** vertical blank */
	int			seed;	/** random seed for the 1st 2-pixel-components/clock */
	int			seed1;	/** random seed for the 2nd 2-pixel-components/clock */
};

#endif /* __IA_CSS_PRBS_H */