drivers/mfd/rz-mtu3.h

Source file repositories/reference/linux-study-clean/drivers/mfd/rz-mtu3.h

File Facts

System
Linux kernel
Corpus path
drivers/mfd/rz-mtu3.h
Extension
.h
Size
3822 bytes
Lines
148
Domain
Driver Families
Bucket
drivers/mfd
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef RZ_MTU3_MFD_H
#define RZ_MTU3_MFD_H

#define MTU_8BIT_CH_0(_tier, _nfcr, _tcr, _tcr2, _tmdr1, _tiorh, _tiorl, _tbtm) \
	{ \
		[RZ_MTU3_TIER] = _tier, \
		[RZ_MTU3_NFCR] = _nfcr, \
		[RZ_MTU3_TCR] = _tcr, \
		[RZ_MTU3_TCR2] = _tcr2, \
		[RZ_MTU3_TMDR1] = _tmdr1, \
		[RZ_MTU3_TIORH] = _tiorh, \
		[RZ_MTU3_TIORL] = _tiorl, \
		[RZ_MTU3_TBTM] = _tbtm \
	}

#define MTU_8BIT_CH_1_2(_tier, _nfcr, _tsr, _tcr, _tcr2, _tmdr1, _tior) \
	{ \
		[RZ_MTU3_TIER] = _tier, \
		[RZ_MTU3_NFCR] = _nfcr, \
		[RZ_MTU3_TSR] = _tsr, \
		[RZ_MTU3_TCR] = _tcr, \
		[RZ_MTU3_TCR2] = _tcr2, \
		[RZ_MTU3_TMDR1] = _tmdr1, \
		[RZ_MTU3_TIOR] = _tior \
	} \

#define MTU_8BIT_CH_3_4_6_7(_tier, _nfcr, _tsr, _tcr, _tcr2, _tmdr1, _tiorh, _tiorl, _tbtm) \
	{ \
		[RZ_MTU3_TIER] = _tier, \
		[RZ_MTU3_NFCR] = _nfcr, \
		[RZ_MTU3_TSR] = _tsr, \
		[RZ_MTU3_TCR] = _tcr, \
		[RZ_MTU3_TCR2] = _tcr2, \
		[RZ_MTU3_TMDR1] = _tmdr1, \
		[RZ_MTU3_TIORH] = _tiorh, \
		[RZ_MTU3_TIORL] = _tiorl, \
		[RZ_MTU3_TBTM] = _tbtm \
	} \

#define MTU_8BIT_CH_5(_tier, _nfcr, _tstr, _tcntcmpclr, _tcru, _tcr2u, _tioru, \
		      _tcrv, _tcr2v, _tiorv, _tcrw, _tcr2w, _tiorw) \
	{ \
		[RZ_MTU3_TIER] = _tier, \
		[RZ_MTU3_NFCR] = _nfcr, \
		[RZ_MTU3_TSTR] = _tstr, \
		[RZ_MTU3_TCNTCMPCLR] = _tcntcmpclr, \
		[RZ_MTU3_TCRU] = _tcru, \
		[RZ_MTU3_TCR2U] = _tcr2u, \
		[RZ_MTU3_TIORU] = _tioru, \
		[RZ_MTU3_TCRV] = _tcrv, \
		[RZ_MTU3_TCR2V] = _tcr2v, \
		[RZ_MTU3_TIORV] = _tiorv, \
		[RZ_MTU3_TCRW] = _tcrw, \
		[RZ_MTU3_TCR2W] = _tcr2w, \
		[RZ_MTU3_TIORW] = _tiorw \
	} \

#define MTU_8BIT_CH_8(_tier, _nfcr, _tcr, _tcr2, _tmdr1, _tiorh, _tiorl) \
	{ \
		[RZ_MTU3_TIER] = _tier, \
		[RZ_MTU3_NFCR] = _nfcr, \
		[RZ_MTU3_TCR] = _tcr, \
		[RZ_MTU3_TCR2] = _tcr2, \
		[RZ_MTU3_TMDR1] = _tmdr1, \
		[RZ_MTU3_TIORH] = _tiorh, \
		[RZ_MTU3_TIORL] = _tiorl \
	} \

#define MTU_16BIT_CH_0(_tcnt, _tgra, _tgrb, _tgrc, _tgrd, _tgre, _tgrf) \
	{ \
		[RZ_MTU3_TCNT] = _tcnt, \
		[RZ_MTU3_TGRA] = _tgra, \
		[RZ_MTU3_TGRB] = _tgrb, \
		[RZ_MTU3_TGRC] = _tgrc, \
		[RZ_MTU3_TGRD] = _tgrd, \
		[RZ_MTU3_TGRE] = _tgre, \
		[RZ_MTU3_TGRF] = _tgrf \
	}

#define MTU_16BIT_CH_1_2(_tcnt, _tgra, _tgrb) \
	{ \
		[RZ_MTU3_TCNT] = _tcnt, \
		[RZ_MTU3_TGRA] = _tgra, \
		[RZ_MTU3_TGRB] = _tgrb \
	}

#define MTU_16BIT_CH_3_6(_tcnt, _tgra, _tgrb, _tgrc, _tgrd, _tgre) \
	{ \
		[RZ_MTU3_TCNT] = _tcnt, \
		[RZ_MTU3_TGRA] = _tgra, \

Annotation

Implementation Notes