All of lore.kernel.org
 help / color / mirror / Atom feed
From: <Sergey.Semin@baikalelectronics.ru>
To: unlisted-recipients:; (no To-header on input)
Cc: Serge Semin <Sergey.Semin@baikalelectronics.ru>,
	Serge Semin <fancer.lancer@gmail.com>,
	Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
	Maxim Kaurkin <Maxim.Kaurkin@baikalelectronics.ru>,
	Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>,
	Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru>,
	Ekaterina Skachko <Ekaterina.Skachko@baikalelectronics.ru>,
	Vadim Vlasov <V.Vlasov@baikalelectronics.ru>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Paul Burton <paulburton@kernel.org>,
	Ralf Baechle <ralf@linux-mips.org>,
	Lee Jones <lee.jones@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH 0/2] mfd: Add Baikal-T1 SoC Boot Controller driver
Date: Fri, 6 Mar 2020 16:05:26 +0300	[thread overview]
Message-ID: <20200306130612.BB12F8030702@mail.baikalelectronics.ru> (raw)

From: Serge Semin <fancer.lancer@gmail.com>

Baikal-T1 Boot Controller is an IP block embedded into the SoC and responsible
for the chip proper pre-initialization and further booting up from selected
memory mapped device. From the Linux kernel point of view it's just a multi-
functional device, which exports three physically mapped ROMs and a single SPI
controller interface.

Baikal-T1 can boot either from an external SPI-flash or from an embedded into
it firmware. So when the bootup from the SPI-flash is selected the flash memory
can be accessed either directly via the embedded into the Boot Controller DW
APB SSI controller registers or via a physically mapped ROM (which is just an
FSM IP-core interacting with the DW APB SSI controller by itself). Since both
of these interfaces are using the same SPI interface they can't be utilized
simultaneously. Instead the Boot Controller provides the access switching
functionality by means of the control register flag. That's why we need the
Boot Controller MFD driver provided by this patchset - in order to multiplex the
access to the DW APB SSI controller and SPI interface from two different
subsystems.

After this patchset is integrated into the kernel we'll submit two more
patchsets with physically mapped ROMs (due to some peculiarities we can't have
the already available in the kernel mtd-rom drivers) and SPI controller
(similarly the available in the kernel DW APB SSI driver isn't suitable for
our version of the SPI controller) drivers will be submitted for integration
into the mainline Linux kernel.

This patchset is rebased and tested on the mainline Linux kernel 5.6-rc4:
commit 98d54f81e36b ("Linux 5.6-rc4").

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Maxim Kaurkin <Maxim.Kaurkin@baikalelectronics.ru>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
Cc: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru>
Cc: Ekaterina Skachko <Ekaterina.Skachko@baikalelectronics.ru>
Cc: Vadim Vlasov <V.Vlasov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (2):
  dt-bindings: mfd: Add Baikal-T1 Boot Controller bindings
  mfd: Add Baikal-T1 Boot Controller driver

 .../bindings/mfd/be,bt1-boot-ctl.yaml         |  89 +++++
 drivers/mfd/Kconfig                           |  13 +
 drivers/mfd/Makefile                          |   1 +
 drivers/mfd/bt1-boot-ctl.c                    | 345 ++++++++++++++++++
 include/linux/mfd/bt1-boot-ctl.h              |  46 +++
 5 files changed, 494 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/be,bt1-boot-ctl.yaml
 create mode 100644 drivers/mfd/bt1-boot-ctl.c
 create mode 100644 include/linux/mfd/bt1-boot-ctl.h

-- 
2.25.1


             reply	other threads:[~2020-03-06 13:06 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-06 13:05 Sergey.Semin [this message]
     [not found] <20200306130528.9973-1-Sergey.Semin@baikalelectronics.ru>
2020-03-10  1:11 ` [PATCH 0/2] mfd: Add Baikal-T1 SoC Boot Controller driver Sergey Semin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200306130612.BB12F8030702@mail.baikalelectronics.ru \
    --to=sergey.semin@baikalelectronics.ru \
    --cc=Alexey.Malahov@baikalelectronics.ru \
    --cc=Ekaterina.Skachko@baikalelectronics.ru \
    --cc=Maxim.Kaurkin@baikalelectronics.ru \
    --cc=Pavel.Parkhomenko@baikalelectronics.ru \
    --cc=Ramil.Zaripov@baikalelectronics.ru \
    --cc=V.Vlasov@baikalelectronics.ru \
    --cc=devicetree@vger.kernel.org \
    --cc=fancer.lancer@gmail.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=paulburton@kernel.org \
    --cc=ralf@linux-mips.org \
    --cc=robh+dt@kernel.org \
    --cc=tsbogend@alpha.franken.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.