Commit bb7ece5f authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'sunxi-drivers-for-4.21' of...

Merge tag 'sunxi-drivers-for-4.21' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/drivers

Allwinner drivers changes for 4.21

Those patches are all about our SRAM driver, to enable new SoCs: the
F1c100s, the H5 and the A64 C1 SRAM, that is used by the video decoding
engine.

* tag 'sunxi-drivers-for-4.21' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux

:
  dt-bindings: sram: sunxi: Add compatible for the A64 SRAM C1
  dt-bindings: sram: sunxi: Add bindings for the H5 with SRAM C1
  dt-bindings: sram: Add Allwinner suniv F1C100s
  soc: sunxi: sram: Add support for the H5 SoC system control
  soc: sunxi: sram: Enable EMAC clock access for H3 variant
  soc: sunxi: Change to use DEFINE_SHOW_ATTRIBUTE macro

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 2d32d657 d44d37cb
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -18,7 +18,9 @@ Required properties:
    - "allwinner,sun8i-h3-system-control"
    - "allwinner,sun50i-a64-sram-controller" (deprecated)
    - "allwinner,sun50i-a64-system-control"
    - "allwinner,sun50i-h5-system-control"
    - "allwinner,sun50i-h6-system-control", "allwinner,sun50i-a64-system-control"
    - "allwinner,suniv-f1c100s-system-control", "allwinner,sun4i-a10-system-control"
- reg : sram controller register offset + length

SRAM nodes
@@ -54,10 +56,17 @@ The valid sections compatible for H3 are:

The valid sections compatible for A64 are:
    - allwinner,sun50i-a64-sram-c
    - allwinner,sun50i-a64-sram-c1, allwinner,sun4i-a10-sram-c1

The valid sections compatible for H5 are:
    - allwinner,sun50i-h5-sram-c1, allwinner,sun4i-a10-sram-c1

The valid sections compatible for H6 are:
    - allwinner,sun50i-h6-sram-c, allwinner,sun50i-a64-sram-c

The valid sections compatible for F1C100s are:
    - allwinner,suniv-f1c100s-sram-d, allwinner,sun4i-a10-sram-d

Devices using SRAM sections
---------------------------

+10 −12
Original line number Diff line number Diff line
@@ -155,17 +155,7 @@ static int sunxi_sram_show(struct seq_file *s, void *data)
	return 0;
}

static int sunxi_sram_open(struct inode *inode, struct file *file)
{
	return single_open(file, sunxi_sram_show, inode->i_private);
}

static const struct file_operations sunxi_sram_fops = {
	.open = sunxi_sram_open,
	.read = seq_read,
	.llseek = seq_lseek,
	.release = single_release,
};
DEFINE_SHOW_ATTRIBUTE(sunxi_sram);

static inline struct sunxi_sram_desc *to_sram_desc(const struct sunxi_sram_data *data)
{
@@ -300,6 +290,10 @@ static const struct sunxi_sramc_variant sun4i_a10_sramc_variant = {
	/* Nothing special */
};

static const struct sunxi_sramc_variant sun8i_h3_sramc_variant = {
	.has_emac_clock = true,
};

static const struct sunxi_sramc_variant sun50i_a64_sramc_variant = {
	.has_emac_clock = true,
};
@@ -379,7 +373,7 @@ static const struct of_device_id sunxi_sram_dt_match[] = {
	},
	{
		.compatible = "allwinner,sun8i-h3-system-control",
		.data = &sun4i_a10_sramc_variant,
		.data = &sun8i_h3_sramc_variant,
	},
	{
		.compatible = "allwinner,sun50i-a64-sram-controller",
@@ -389,6 +383,10 @@ static const struct of_device_id sunxi_sram_dt_match[] = {
		.compatible = "allwinner,sun50i-a64-system-control",
		.data = &sun50i_a64_sramc_variant,
	},
	{
		.compatible = "allwinner,sun50i-h5-system-control",
		.data = &sun50i_a64_sramc_variant,
	},
	{ },
};
MODULE_DEVICE_TABLE(of, sunxi_sram_dt_match);