auto
  *   ˆl–Ü4ý( ©³( 	Å€fàB¦-ÿÄƒ{_†I|¥�+ÂÇ @    /* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Common data shared between Maxim 77693 and 77843 drivers
 *
 * Copyright (C) 2015 Samsung Electronics
 */

#ifndef __LINUX_MFD_MAX77693_COMMON_H
#define __LINUX_MFD_MAX77693_COMMON_H

enum max77693_types {
	TYPE_MAX77693_UNKNOWN,
	TYPE_MAX77693,
	TYPE_MAX77843,

	TYPE_MAX77693_NUM,
};

/*
 * Shared also with max77843.
 */
struct max77693_dev {
	struct device *dev;
	struct i2c_client *i2c;		/* 0xCC , PMIC, Charger, Flash LED */
	struct i2c_client *i2c_muic;	/* 0x4A , MUIC */
	struct i2c_client *i2c_haptic;	/* MAX77693: 0x90 , Haptic */
	struct i2c_client *i2c_chg;	/* MAX77843: 0xD2, Charger */

	enum max77693_types type;

	struct regmap *regmap;
	struct regmap *regmap_muic;
	struct regmap *regmap_haptic;	/* Only MAX77693 */
	struct regmap *regmap_chg;	/* Only MAX77843 */

	struct regmap_irq_chip_data *irq_data_led;
	struct regmap_irq_chip_data *irq_data_topsys;
	struct regmap_irq_chip_data *irq_data_chg; /* Only MAX77693 */
	struct regmap_irq_chip_data *irq_data_muic;

	int irq;
};


#endif /*  __LINUX_MFD_MAX77693_COMMON_H */
     �ÉÂÇ      File not found.
     ˆ¿ÅƒN‡¾ÂÇ ¿    /* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (C) 2024 Intel Corporation */

#ifndef __LIBIE_RX_H
#define __LIBIE_RX_H

#include <net/libeth/rx.h>

/* Rx buffer management */

/* The largest size for a single descriptor as per HW */
#define LIBIE_MAX_RX_BUF_LEN	9728U
/* "True" HW-writeable space: minimum from SW and HW values */
#define LIBIE_RX_BUF_LEN(hr)	min_t(u32, LIBETH_RX_PAGE_LEN(hr),	\
				      LIBIE_MAX_RX_BUF_LEN)

/* The maximum frame size as per HW (S/G) */
#define __LIBIE_MAX_RX_FRM_LEN	16382U
/* ATST, HW can chain up to 5 Rx descriptors */
#define LIBIE_MAX_RX_FRM_LEN(hr)					\
	min_t(u32, __LIBIE_MAX_RX_FRM_LEN, LIBIE_RX_BUF_LEN(hr) * 5)
/* Maximum frame size minus LL overhead */
#define LIBIE_MAX_MTU							\
	(LIBIE_MAX_RX_FRM_LEN(LIBETH_MAX_HEADROOM) - LIBETH_RX_LL_LEN)

/* O(1) converting i40e/ice/iavf's 8/10-bit hardware packet type to a parsed
 * bitfield struct.
 */

#define LIBIE_RX_PT_NUM		154

extern const struct libeth_rx_pt libie_rx_pt_lut[LIBIE_RX_PT_NUM];

/**
 * libie_rx_pt_parse - convert HW packet type to software bitfield structure
 * @pt: 10-bit hardware packet type value from the descriptor
 *
 * ```libie_rx_pt_lut``` must be accessed only using this wrapper.
 *
 * Return: parsed bitfield struct corresponding to the provided ptype.
 */
static inline struct libeth_rx_pt libie_rx_pt_parse(u32 pt)
{
	if (unlikely(pt >= LIBIE_RX_PT_NUM))
		pt = 0;

	return libie_rx_pt_lut[pt];
}

#endif /* __LIBIE_RX_H */
     �ÉÂÇ      File not found.
  "   ˆl–ßi~”*j"Tâ€ÆÁq°©‹FÿÆƒh¹ÃÈ      4:9
     �ÊÃÈ      File not found.
  #   !ˆÀÆƒ™o¿a–ßi~”*j"Tâ€ÆÃq�©‹FÿÉ Ó    !/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * I2C multiplexer using a single register
 *
 * Copyright 2015 Freescale Semiconductor
 * York Sun <yorksun@freescale.com>
 */

#ifndef __LINUX_PLATFORM_DATA_I2C_MUX_REG_H
#define __LINUX_PLATFORM_DATA_I2C_MUX_REG_H

/**
 * struct i2c_mux_reg_platform_data - Platform-dependent data for i2c-mux-reg
 * @parent: Parent I2C bus adapter number
 * @base_nr: Base I2C bus number to number adapters from or zero for dynamic
 * @values: Array of value for each channel
 * @n_values: Number of multiplexer channels
 * @little_endian: Indicating if the register is in little endian
 * @write_only: Reading the register is not allowed by hardware
 * @classes: Optional I2C auto-detection classes
 * @idle: Value to write to mux when idle
 * @idle_in_use: indicate if idle value is in use
 * @reg: Virtual address of the register to switch channel
 * @reg_size: register size in bytes
 */
struct i2c_mux_reg_platform_data {
	int parent;
	int base_nr;
	const unsigned int *values;
	int n_values;
	bool little_endian;
	bool write_only;
	const unsigned int *classes;
	u32 idle;
	bool idle_in_use;
	void __iomem *reg;
	resource_size_t reg_size;
};

#endif	/* __LINUX_PLATFORM_DATA_I