Our usual bunch of patches to support the Allwinner SoCs, this time
adding:
- New secondary interrupt controller binding to support the wake-up
- Use the RSB bus instead of I2C for the PMIC on the H6
- HDMI support for the BananaPi M2-Zero
- New board: Topwise A721
* tag 'sunxi-dt-for-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
ARM: dts: sun8i: h3: beelink-x2: Add power button
arm64: dts: allwinner: h6: Use RSB for AXP805 PMIC connection
ARM: dts: sunxi: h2-plus-bananapi-m2-zero: Add HDMI out
ARM: dts: sun4i: Add support for Topwise A721 tablet
dt-bindings: arm: Add Topwise A721
arm64: dts: allwinner: Move wakeup-capable IRQs to r_intc
arm64: dts: allwinner: Use the new r_intc binding
ARM: dts: sunxi: Move wakeup-capable IRQs to r_intc
ARM: dts: sunxi: h3/h5: Add r_intc node
ARM: dts: sunxi: Use the new r_intc binding
Link: https://lore.kernel.org/r/8a3e3271-bebe-4d27-a9e7-7b7a6311a38d.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
On a typical end product, a vendor may choose to secure some regions in
the NAND memory which are supposed to stay intact between FW upgrades.
The access to those regions will be blocked by a secure element like
Trustzone. So the normal world software like Linux kernel should not
touch these regions (including reading).
So let's add a property for declaring such secure regions so that the
drivers can skip touching them.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20210402150128.29128-3-manivannan.sadhasivam@linaro.org
Binding covering the ad7150, ad7151 and ad7156 capacitance to digital
convertors. The only difference between these is how many channels they
have (1 or 2)
Whilst it is clearly necessary to provide power to the part, we don't
need to know the voltage or anything so if it is always on, there should
be no need to have it specified in the binding.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: devicetree@vger.kernel.org
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210314181511.531414-24-jic23@kernel.org
Updates binding document since the avc and vp8 hardware encoder in
MT8173 are now separated. Separate "mediatek,mt8173-vcodec-enc" to
"mediatek,mt8173-vcodec-enc-vp8" and "mediatek,mt8173-vcodec-enc".
This patch is not a compatible change, but we must do this modifaction
because MediaTek IOMMU add the device_link between the smi-larb
device and venc_device, if the venc device call the pm_runtime_get_sync,
the smi-larb's pm_runtime_get_sync also be called automatically.
There is a bit of backward compatibility for avc encoder, the avc
encoder device node still has compatible "mediatek,mt8173-vcodec-enc".
Acked-by: Tiffany Lin <tiffany.lin@mediatek.com>
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Signed-off-by: Maoguang Meng <maoguang.meng@mediatek.com>
Signed-off-by: Irui Wang <irui.wang@mediatek.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Changeset 5e4cdca887 ("dt-bindings: i3c: Convert the bus description to yaml")
renamed: Documentation/devicetree/bindings/i3c/i3c.txt
to: Documentation/devicetree/bindings/i3c/i3c.yaml.
Update the cross-references accordingly.
Fixes: 5e4cdca887 ("dt-bindings: i3c: Convert the bus description to yaml")
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Expand the description of the binding itself and of individual
properties to include additional information that may not be immediately
appartent from reading the reference manual. Drop the last sentence of
the phy-supply description that refers to the driver's implementation.
While at it, fix the capitalization of MIPI CSI-2 in the title.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
The reset-names property is incorrect, as it references the reset of the
MIPI D-PHY master, which is used by the DSI controller. Fixing the
property name would create backward-compatibility issues. As the device
has a single reset, we can instead drop reset-names completely, which
also simplifies the binding.
Fix the example accordingly to use the correct reset.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Make trigger delay configurable through device tree with
trigger-delay-ms property.
Trigger delay is the time to wait before starting shutdown
sequence after trigger line assertion.
Trigger delay must take into account the OFFT time configured
with the capacitor connected to OFFT pin of the LTC2952 chip.
Basically, the higher the capacitance connected to OFFT pin,
the larger trigger delay must be.
Signed-off-by: Marek Czerski <ma.czerski@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Patch series introducing support for ROHM BD71815 PMIC
ROHM BD71815 is a power management IC used in some battery powered
systems. It contains regulators, GPO(s), charger + coulomb counter, RTC
and a clock gate.
All regulators can be controlled via I2C. LDO4 can additionally be set to
be enabled/disabled by a GPIO. LDO3 voltage could be selected from two
voltages written into separate VSEL reisters using GPIO but this mode is
not supported by driver. On top of that the PMIC has the typical HW
state machine which is present also on many other ROHM PMICs.
IC contains two GPOs - but one of the GPOs is marked as GND in
data-sheet. Thus the driver by default only exposes one GPO. The second
GPO can be enabled by special DT property.
RTC is almost similar to what is on BD71828. For currently used features
only the register address offset to RTC block differs.
The charger driver is not included in this series. ROHM has a charger
driver with some fuel-gauging logig written in but this is not included
here. I am working on separating the logic from HW specific driver and
supporting both BD71815 and BD71828 chargers in separate patch series.
Changelog v5:
Regulator:
- Added regmap helper for regulator ramp-delay and taken it in use
(patches 13, 14, 16 - they can be just dropped if ramp-delay helper is not
a good idea. Patch 15 implements old-fashioned ramp-delay)
GPIO:
- styling changes to GPIO (Mostly suggested by Andy)
- implemented init_valid_mask (but can't count on it yet)
Changelog v4:
- Sorted ROHM chip ID enum
- Statcized DVS structures in regulator driver
- Minor styling for regulator driver
- rebased on v5.12-rc4
Changelog v3:
- GPIO clean-up as suggested by Bartosz
- MFD clean-up as suggested by Lee
- clk-mode dt-binding handling in MFD driver corrected to reflect new
property values.
- Dropped already applied patches
- Rebased on v5.12-rc2
Changelog v2:
- Rebased on top of v5.11-rc3
- Added another "preliminary patch" which fixes HW-dvs voltage
handling (patch 1)
- split regulator patch to two.
- changed dt-binding patch ordering.
regulators:
- staticized probe
- removed some unnecessary defines
- updated comments
- split rohm-regulator patch adding SNVS and supporting simple
linear mapping into two - one adding support for mapping, other
adding SNVS.
GPIO:
- removed unnecessary headers
- clarified dev/parent->dev usage
- removed forgotten #define DEBUG
dt-bindings:
- changed patch order to meet ref-dependencies
- added missing regulator nodes
- changed string property for clk mode to tristated
MFD:
- header cleanups.
CLK:
- fixed commit message
--
Matti Vaittinen (19):
rtc: bd70528: Do not require parent data
mfd: bd718x7: simplify by cleaning unnecessary device data
dt_bindings: bd71828: Add clock output mode
dt_bindings: regulator: Add ROHM BD71815 PMIC regulators
dt_bindings: mfd: Add ROHM BD71815 PMIC
mfd: Add ROHM BD71815 ID
mfd: Sort ROHM chip ID list for better readability
mfd: Support for ROHM BD71815 PMIC core
gpio: support ROHM BD71815 GPOs
regulator: helpers: Export helper voltage listing
regulator: rohm-regulator: linear voltage support
regulator: rohm-regulator: Support SNVS HW state.
regulator: Add regmap helper for ramp-delay setting
regulator: bd718x7, bd71828: Use ramp-delay helper
regulator: Support ROHM BD71815 regulators
regulator: bd71815: use ramp-delay helper
clk: bd718x7: Add support for clk gate on ROHM BD71815 PMIC
rtc: bd70528: Support RTC on ROHM BD71815
MAINTAINERS: Add ROHM BD71815AGW
.../bindings/mfd/rohm,bd71815-pmic.yaml | 201 ++++++
.../bindings/mfd/rohm,bd71828-pmic.yaml | 6 +
.../regulator/rohm,bd71815-regulator.yaml | 116 ++++
MAINTAINERS | 3 +
drivers/clk/clk-bd718x7.c | 9 +-
drivers/gpio/Kconfig | 10 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-bd71815.c | 193 ++++++
drivers/mfd/Kconfig | 15 +-
drivers/mfd/rohm-bd71828.c | 486 +++++++++----
drivers/mfd/rohm-bd718x7.c | 43 +-
drivers/regulator/Kconfig | 11 +
drivers/regulator/Makefile | 1 +
drivers/regulator/bd71815-regulator.c | 651 ++++++++++++++++++
drivers/regulator/bd71828-regulator.c | 51 +-
drivers/regulator/bd718x7-regulator.c | 60 +-
drivers/regulator/helpers.c | 101 ++-
drivers/regulator/rohm-regulator.c | 23 +-
drivers/rtc/Kconfig | 6 +-
drivers/rtc/rtc-bd70528.c | 104 +--
include/linux/mfd/rohm-bd71815.h | 562 +++++++++++++++
include/linux/mfd/rohm-bd71828.h | 3 +
include/linux/mfd/rohm-bd718x7.h | 13 -
include/linux/mfd/rohm-generic.h | 15 +-
include/linux/regulator/driver.h | 7 +
25 files changed, 2393 insertions(+), 298 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71815-pmic.yaml
create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml
create mode 100644 drivers/gpio/gpio-bd71815.c
create mode 100644 drivers/regulator/bd71815-regulator.c
create mode 100644 include/linux/mfd/rohm-bd71815.h
base-commit: 0d02ec6b31
--
2.25.4
--
Matti Vaittinen, Linux device drivers
ROHM Semiconductors, Finland SWDC
Kiviharjunlenkki 1E
90220 OULU
FINLAND
~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
Simon says - in Latin please.
~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
Thanks to Simon Glass for the translation =]
Using overlay sugar syntax makes the DTS files easier to read (and
write).
While at it, fix two build issues:
- "/dts-v1/" and "/plugin/" must be separate statements.
- Add a missing closing curly brace.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Moritz Fischer <mdf@kernel.org>
File snps,dwc3.yaml describes the schema of Synopsys DesignWare USB3
Controller, it directly or indirectly contains "$ref: usb.yaml". So the
node name of "snps,dwc3" must start with "usb". Otherwise, the following
warning will be displayed:
Documentation/devicetree/bindings/usb/fsl,imx8mp-dwc3.example.dt.yaml: \
dwc3@38100000: $nodename:0: 'dwc3@38100000' does not match '^usb(@.*)?'
From schema: Documentation/devicetree/bindings/usb/snps,dwc3.yaml
In addition, replace "type: object" with "$ref: snps,dwc3.yaml#". Ensure
that all properties of the child node comply with snps,dwc3.yaml.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20210329072714.2135-2-thunder.leizhen@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- add MT8183 support to mutex driver
MMSYS:
- use per SoC array to describe the possible routing
- add support for MT8183
Power management domains:
- fix the case of a domain fails to get added
- add names for each power domain to make debugging easier
PMIC wrapper:
- add support for PMIC wrapper with integrated arbiter
- add support for MT8192/MT6873
* tag 'v5.12-next-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
soc: mediatek: pm-domains: Add a power domain names for mt8167
soc: mediatek: pm-domains: Add a power domain names for mt8192
soc: mediatek: pm-domains: Add a power domain names for mt8183
soc: mediatek: pm-domains: Add a meaningful power domain name
soc: mediatek: Make symbol 'mtk_mutex_driver' static
soc: mediatek: mmsys: Add mt8183 mmsys routing table
soc: mediatek: pwrap: add pwrap driver for MT6873/8192 SoCs
dt-bindings: mediatek: add compatible for MT6873/8192 pwrap
soc: mediatek: pwrap: add arbiter capability
soc: mediatek: pwrap: use BIT() macro
soc: mediatek: pm-domains: Fix missing error code in scpsys_add_subdomain()
soc: mediatek: mmsys: Use an array for setting the routing registers
soc: mediatek: mmsys: Create struct mtk_mmsys to store context data
soc: mediatek: add mtk mutex support for MT8183
Link: https://lore.kernel.org/r/c47d4bdd-9e05-c0de-bacb-3a262fed936d@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
dt-bindings: Changes for v5.13-rc1
One single changes that adds the nvidia,pmc property to the XUSB pad
controller binding, which will subsequently be used to implement USB
sleepwalk functionality.
* tag 'tegra-for-5.13-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
dt-bindings: phy: tegra-xusb: Add nvidia,pmc prop
Link: https://lore.kernel.org/r/20210401172622.3352990-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
STM32 DT updates for v5.13, round 1
Highlights:
----------
MCU part:
-Add stm32h750 SoC support. It is based on stm32h743 and embeds
crypto IPs and 2 ADC.
-Add new art-pi board based on stm32h750. This board embeds:
-8MB QSPI flash.
-16MB SPI flash.
-32MB SDRAM.
-AP6212 combo (wifi/bt/fm).
MPU part:
-Use dedicated PTP clock for Ethernet controller on stm32mp151.
-Enable i2c analog filter on stm32mp151.
-DH:
-Update GPIO names.
-Enable crc1 & crryp1 on DHSOM.
-Engicam: add new boards support:
-MicroGEA SOM which embeds STM32MP157aac, 512 MB Nand Flash
I2S.
-MicroGEA STM32MP1 Microdev 2.0 which embeds MicroGEA SOM,
Ethernet up to 100 Mbps, USB typeA, microSD, UMTS LTE, Wifi/BT
LVDS panel connector.
-MicroGEA STM32MP1 MicroDev 2.0 7" which embeds a MicroGEA STM32MP1
MicroDev 2.0 plus 7" Open Frame panel solution (7" AUO B101AW03 LVDS panel
and EDT DT5526 Touch)
-i.Core STM32MP1 EDIMM SoM based on STM32MP157A.
-C.TOUCH 2.0 n EDIMM compliant general purpose Carrier board with capacitive
touch interface support based on i.Core STM32MP1 EDIMM SoM.
It embeds ETH 10/100, wifi/bt, CAN, USB TypeA/OTG, LVDS pannel connector.
-EDIMM2.2 Starter Kit is an EDIMM 2.2 Form Factor Capacitive Evaluation
Board based on i.Core STM32MP1 EDIMM SoM. IT embeds LCD 7" C.Touch,
wifi/bt,2*LVDS FHD, 3*USB2, 1*USB3 ...
* tag 'stm32-dt-for-v5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (26 commits)
ARM: dts: stm32: Add PTP clock to Ethernet controller
ARM: dts: stm32: Enable crc1 and cryp1 where applicable on DHSOM
ARM: dts: stm32: Update GPIO line names on PicoITX
ARM: dts: stm32: Update GPIO line names on DRC02
ARM: dts: stm32: Fill GPIO line names on AV96
ARM: dts: stm32: Fill GPIO line names on DHCOM SoM
dt-bindings: serial: stm32: Use 'type: object' instead of false for 'additionalProperties'
ARM: stm32: Add a new SoC - STM32H750
ARM: dts: stm32: add support for art-pi board based on stm32h750xbh6
ARM: dts: stm32: fix i2c node typo in stm32h743
ARM: dts: stm32: add new instances for stm32h743 MCU
ARM: dts: stm32: introduce stm32h7-pinctrl.dtsi to support stm32h750
dt-bindings: arm: stm32: Add compatible strings for ART-PI board
Documentation: arm: stm32: Add stm32h750 value line doc
ARM: dts: stm32: enable the analog filter for all I2C nodes in stm32mp151
ARM: dts: stm32: Add Engicam i.Core STM32MP1 EDIMM2.2 Starter Kit
dt-bindings: arm: stm32: Add Engicam i.Core STM32MP1 EDIMM2.2 Starter Kit
ARM: dts: stm32: Add Engicam i.Core STM32MP1 C.TOUCH 2.0
ARM: dts: stm32: Add Engicam i.Core STM32MP1 SoM
dt-bindings: arm: stm32: Add Engicam i.Core STM32MP1 C.TOUCH 2.0
...
Link: https://lore.kernel.org/r/48784f53-943b-0baf-d4a0-fcb7d3849b00@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This pull request contains Broadcom ARM/ARM64/MIPS based SoCs drivers
changes for 5.13, please pull the following:
- Rafal updates the Broadcom PMB binding to support BCM63138 and updates
the code to support resetting the 63138 SATA controller
* tag 'arm-soc/for-5.13/drivers' of https://github.com/Broadcom/stblinux:
soc: bcm: bcm-pmb: add BCM63138 SATA support
dt-bindings: power: bcm-pmb: add BCM63138 binding
Link: https://lore.kernel.org/r/20210330184006.1451315-3-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Power domain fits much better than a voltage regulator in regards to
a proper hardware description and from a software perspective as well.
Hence replace the core regulator with the power domain. Note that this
doesn't affect any existing DTBs because we haven't started to use the
regulator yet, and thus, it's okay to change it.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210330230445.26619-4-digetx@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Power domain fits much better than a voltage regulator in regards to
a proper hardware description and from a software perspective as well.
Hence replace the core regulator with the power domain. Note that this
doesn't affect any existing DTBs because we haven't started to use the
regulator yet, and thus, it's okay to change it.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210330230445.26619-3-digetx@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Power domain fits much better than a voltage regulator in regards to
a proper hardware description and from a software perspective as well.
Hence replace the core regulator with the power domain. Note that this
doesn't affect any existing DTBs because we haven't started to use the
regulator yet, and thus, it's okay to change it.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210330230445.26619-2-digetx@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
The property "dmas" contains two items: DMA "TX" and "RX" channel,
Therefore, its value also needs to be written in two parts.
Otherwise, below YAML check warning is reported:
Documentation/devicetree/bindings/sound/intel,keembay-i2s.example.dt.yaml:\
i2s@20140000: dmas: [[4294967295, 29, 4294967295, 33]] is too short
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210329081435.2200-1-thunder.leizhen@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>