Staging
v0.8.1
https://github.com/torvalds/linux
Raw File
Tip revision: 418baf2c28f3473039f2f7377760bd8f6897ae18 authored by Linus Torvalds on 22 November 2020, 23:36:08 UTC
Linux 5.10-rc5
Tip revision: 418baf2
atmel-hsmci.txt
* Atmel High Speed MultiMedia Card Interface

This controller on atmel products provides an interface for MMC, SD and SDIO
types of memory cards.

This file documents differences between the core properties described
by mmc.txt and the properties used by the atmel-mci driver.

1) MCI node

Required properties:
- compatible: should be "atmel,hsmci"
- #address-cells: should be one. The cell is the slot id.
- #size-cells: should be zero.
- at least one slot node
- clock-names: tuple listing input clock names.
	Required elements: "mci_clk"
- clocks: phandles to input clocks.

The node contains child nodes for each slot that the platform uses

Example MCI node:

mmc0: mmc@f0008000 {
	compatible = "atmel,hsmci";
	reg = <0xf0008000 0x600>;
	interrupts = <12 4>;
	#address-cells = <1>;
	#size-cells = <0>;
	clock-names = "mci_clk";
	clocks = <&mci0_clk>;

	[ child node definitions...]
};

2) slot nodes

Required properties:
- reg: should contain the slot id.
- bus-width: number of data lines connected to the controller

Optional properties:
- cd-gpios: specify GPIOs for card detection
- cd-inverted: invert the value of external card detect gpio line
- wp-gpios: specify GPIOs for write protection

Example slot node:

slot@0 {
	reg = <0>;
	bus-width = <4>;
	cd-gpios = <&pioD 15 0>
	cd-inverted;
};

Example full MCI node:
mmc0: mmc@f0008000 {
	compatible = "atmel,hsmci";
	reg = <0xf0008000 0x600>;
	interrupts = <12 4>;
	#address-cells = <1>;
	#size-cells = <0>;
	slot@0 {
		reg = <0>;
		bus-width = <4>;
		cd-gpios = <&pioD 15 0>
		cd-inverted;
	};
	slot@1 {
		reg = <1>;
		bus-width = <4>;
	};
};
back to top