linux/arch/arm/boot/dts/meson8m2.dtsi
Martin Blumenstingl 73106f75bf ARM: dts: meson: add the SDHC MMC controller
Meson6, Meson8, Meson8b and Meson8m2 are using a similar SDHC controller
IP which typically connects to an eMMC chip (because unlike the SDIO
controller the SDHC controller has an 8-bit bus interface).

On Meson8, Meson8b and Meson8m2 the clock inputs are all the same.
However, Meson8m2 seems to have an improved version of the SHDC
controller IP which doesn't require the driver to wait manually for a
flush of a DMA transfer. Thus every SoC has it's own compatible string
so if more difference are discovered they can be implemented.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200620163654.37207-2-martin.blumenstingl@googlemail.com
2020-07-13 11:58:15 -07:00

102 lines
2.3 KiB
Plaintext

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
*/
#include "meson8.dtsi"
/ {
model = "Amlogic Meson8m2 SoC";
compatible = "amlogic,meson8m2";
}; /* end of / */
&clkc {
compatible = "amlogic,meson8m2-clkc", "amlogic,meson8-clkc";
};
&dmcbus {
/* the offset of the canvas registers has changed compared to Meson8 */
/delete-node/ video-lut@20;
canvas: video-lut@48 {
compatible = "amlogic,meson8m2-canvas", "amlogic,canvas";
reg = <0x48 0x14>;
};
};
&ethmac {
compatible = "amlogic,meson8m2-dwmac", "snps,dwmac";
reg = <0xc9410000 0x10000
0xc1108140 0x8>;
clocks = <&clkc CLKID_ETH>,
<&clkc CLKID_MPLL2>,
<&clkc CLKID_MPLL2>,
<&clkc CLKID_FCLK_DIV2>;
clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment";
resets = <&reset RESET_ETHERNET>;
reset-names = "stmmaceth";
};
&pinctrl_aobus {
compatible = "amlogic,meson8m2-aobus-pinctrl",
"amlogic,meson8-aobus-pinctrl";
};
&pinctrl_cbus {
compatible = "amlogic,meson8m2-cbus-pinctrl",
"amlogic,meson8-cbus-pinctrl";
eth_rgmii_pins: ethernet {
mux {
groups = "eth_tx_clk_50m", "eth_tx_en",
"eth_txd3", "eth_txd2",
"eth_txd1", "eth_txd0",
"eth_rx_clk_in", "eth_rx_dv",
"eth_rxd3", "eth_rxd2",
"eth_rxd1", "eth_rxd0",
"eth_mdio", "eth_mdc";
function = "ethernet";
bias-disable;
};
};
};
&pwrc {
compatible = "amlogic,meson8m2-pwrc";
resets = <&reset RESET_DBLK>,
<&reset RESET_PIC_DC>,
<&reset RESET_HDMI_APB>,
<&reset RESET_HDMI_SYSTEM_RESET>,
<&reset RESET_VENCI>,
<&reset RESET_VENCP>,
<&reset RESET_VDAC_4>,
<&reset RESET_VENCL>,
<&reset RESET_VIU>,
<&reset RESET_VENC>,
<&reset RESET_RDMA>;
reset-names = "dblk", "pic_dc", "hdmi_apb", "hdmi_system", "venci",
"vencp", "vdac", "vencl", "viu", "venc", "rdma";
assigned-clocks = <&clkc CLKID_VPU>;
assigned-clock-rates = <364000000>;
};
&saradc {
compatible = "amlogic,meson8m2-saradc", "amlogic,meson-saradc";
};
&sdhc {
compatible = "amlogic,meson8m2-sdhc", "amlogic,meson-mx-sdhc";
};
&usb0_phy {
compatible = "amlogic,meson8m2-usb2-phy", "amlogic,meson-mx-usb2-phy";
};
&usb1_phy {
compatible = "amlogic,meson8m2-usb2-phy", "amlogic,meson-mx-usb2-phy";
};
&wdt {
compatible = "amlogic,meson8m2-wdt", "amlogic,meson8b-wdt";
};