Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /*
0003  * Core interface for Renesas Synchronization Management Unit (SMU) devices.
0004  *
0005  * Copyright (C) 2021 Integrated Device Technology, Inc., a Renesas Company.
0006  */
0007 
0008 #ifndef __LINUX_MFD_RSMU_H
0009 #define __LINUX_MFD_RSMU_H
0010 
0011 /* The supported devices are ClockMatrix, Sabre and SnowLotus */
0012 enum rsmu_type {
0013     RSMU_CM     = 0x34000,
0014     RSMU_SABRE  = 0x33810,
0015     RSMU_SL     = 0x19850,
0016 };
0017 
0018 /**
0019  *
0020  * struct rsmu_ddata - device data structure for sub devices.
0021  *
0022  * @dev:    i2c/spi device.
0023  * @regmap: i2c/spi bus access.
0024  * @lock:   mutex used by sub devices to make sure a series of
0025  *          bus access requests are not interrupted.
0026  * @type:   RSMU device type.
0027  * @page:   i2c/spi bus driver internal use only.
0028  */
0029 struct rsmu_ddata {
0030     struct device *dev;
0031     struct regmap *regmap;
0032     struct mutex lock;
0033     enum rsmu_type type;
0034     u16 page;
0035 };
0036 #endif /*  __LINUX_MFD_RSMU_H */