forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'memory-controller-drv-ti-6.14' of https://git.kernel.org/p…
…ub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers Memory controller drivers for v6.14 - TI TI AEMIF driver enhancements: some refactoring around timing parameters and finally adding plus exporting interfaces for devices using the AEMIF interface (e.g. TI Davinci NAND controller) to better configure the memory interface. The exported functions are going to be used by: drivers/mtd/nand/raw/davinci_nand.c * tag 'memory-controller-drv-ti-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl: memory: ti-aemif: Export aemif_*_cs_timings() memory: ti-aemif: Create aemif_set_cs_timings() memory: ti-aemif: Create aemif_check_cs_timings() memory: ti-aemif: Wrap CS timings into a struct memory: ti-aemif: Remove unnecessary local variables memory: ti-aemif: Store timings parameter in number of cycles - 1 Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnd Bergmann <[email protected]>
- Loading branch information
Showing
2 changed files
with
148 additions
and
76 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
|
||
#ifndef __MEMORY_TI_AEMIF_H | ||
#define __MEMORY_TI_AEMIF_H | ||
|
||
/** | ||
* struct aemif_cs_timings: structure to hold CS timing configuration | ||
* values are expressed in number of clock cycles - 1 | ||
* @ta: minimum turn around time | ||
* @rhold: read hold width | ||
* @rstrobe: read strobe width | ||
* @rsetup: read setup width | ||
* @whold: write hold width | ||
* @wstrobe: write strobe width | ||
* @wsetup: write setup width | ||
*/ | ||
struct aemif_cs_timings { | ||
u32 ta; | ||
u32 rhold; | ||
u32 rstrobe; | ||
u32 rsetup; | ||
u32 whold; | ||
u32 wstrobe; | ||
u32 wsetup; | ||
}; | ||
|
||
struct aemif_device; | ||
|
||
int aemif_set_cs_timings(struct aemif_device *aemif, u8 cs, struct aemif_cs_timings *timings); | ||
int aemif_check_cs_timings(struct aemif_cs_timings *timings); | ||
|
||
#endif // __MEMORY_TI_AEMIF_H |