340 lines
6.7 KiB
Diff
340 lines
6.7 KiB
Diff
From ba93a3eeaf4101166feec31b4a2799b6d4aee640 Mon Sep 17 00:00:00 2001
|
|
From: Phil Elwell <phil@raspberrypi.com>
|
|
Date: Mon, 7 Dec 2020 08:49:53 +0000
|
|
Subject: [PATCH] overlays: Add PCF85063 and PCF85063A to i2c-rtc
|
|
|
|
Add support for the PCF85063 and PCF85063A RTC devices to the
|
|
i2c-rtc overlay.
|
|
|
|
Also enable the device to be used on i2c0 (i2c_vc) on GPIOs 0&1 (use
|
|
parameter "i2c0") and GPIOs 44 & 45 (use parameter "i2c_csi_dsi").
|
|
|
|
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|
---
|
|
arch/arm/boot/dts/overlays/README | 8 ++
|
|
.../arm/boot/dts/overlays/i2c-rtc-overlay.dts | 98 ++++++++++---------
|
|
2 files changed, 61 insertions(+), 45 deletions(-)
|
|
|
|
--- a/arch/arm/boot/dts/overlays/README
|
|
+++ b/arch/arm/boot/dts/overlays/README
|
|
@@ -1257,6 +1257,10 @@ Params: abx80x Select o
|
|
|
|
pcf2129 Select the PCF2129 device
|
|
|
|
+ pcf85063 Select the PCF85363 device
|
|
+
|
|
+ pcf85063a Select the PCF85363A device
|
|
+
|
|
pcf8523 Select the PCF8523 device
|
|
|
|
pcf85363 Select the PCF85363 device
|
|
@@ -1269,6 +1273,10 @@ Params: abx80x Select o
|
|
|
|
sd3078 Select the ZXW Shenzhen whwave SD3078 device
|
|
|
|
+ i2c0 Choose the I2C0 bus on GPIOs 0&1
|
|
+
|
|
+ i2c_csi_dsi Choose the I2C0 bus on GPIOs 44&45
|
|
+
|
|
addr Sets the address for the RTC. Note that the
|
|
device must be configured to use the specified
|
|
address.
|
|
--- a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
|
|
@@ -6,235 +6,238 @@
|
|
compatible = "brcm,bcm2835";
|
|
|
|
fragment@0 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
abx80x: abx80x@69 {
|
|
compatible = "abracon,abx80x";
|
|
reg = <0x69>;
|
|
abracon,tc-diode = "standard";
|
|
abracon,tc-resistor = <0>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@1 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
ds1307: ds1307@68 {
|
|
compatible = "dallas,ds1307";
|
|
reg = <0x68>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@2 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
ds1339: ds1339@68 {
|
|
compatible = "dallas,ds1339";
|
|
trickle-resistor-ohms = <0>;
|
|
reg = <0x68>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@3 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
ds3231: ds3231@68 {
|
|
compatible = "maxim,ds3231";
|
|
reg = <0x68>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@4 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
mcp7940x: mcp7940x@6f {
|
|
compatible = "microchip,mcp7940x";
|
|
reg = <0x6f>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@5 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
mcp7941x: mcp7941x@6f {
|
|
compatible = "microchip,mcp7941x";
|
|
reg = <0x6f>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@6 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
pcf2127@51 {
|
|
compatible = "nxp,pcf2127";
|
|
reg = <0x51>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@7 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
pcf8523: pcf8523@68 {
|
|
compatible = "nxp,pcf8523";
|
|
reg = <0x68>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@8 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
pcf8563: pcf8563@51 {
|
|
compatible = "nxp,pcf8563";
|
|
reg = <0x51>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@9 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
m41t62: m41t62@68 {
|
|
compatible = "st,m41t62";
|
|
reg = <0x68>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@10 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
rv3028: rv3028@52 {
|
|
compatible = "microcrystal,rv3028";
|
|
reg = <0x52>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@11 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
pcf2129@51 {
|
|
compatible = "nxp,pcf2129";
|
|
reg = <0x51>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@12 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
pcf85363@51 {
|
|
compatible = "nxp,pcf85363";
|
|
reg = <0x51>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@13 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
rv1805: rv1805@69 {
|
|
compatible = "microcrystal,rv1805";
|
|
reg = <0x69>;
|
|
abracon,tc-diode = "standard";
|
|
abracon,tc-resistor = <0>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
fragment@14 {
|
|
- target = <&i2c_arm>;
|
|
+ target = <&i2cbus>;
|
|
__dormant__ {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
- status = "okay";
|
|
|
|
sd3078: sd3078@32 {
|
|
compatible = "whwave,sd3078";
|
|
reg = <0x32>;
|
|
- status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
+ fragment@15 {
|
|
+ target = <&i2cbus>;
|
|
+ __dormant__ {
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ pcf85063@51 {
|
|
+ compatible = "nxp,pcf85063";
|
|
+ reg = <0x51>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@16 {
|
|
+ target = <&i2cbus>;
|
|
+ __dormant__ {
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ pcf85063a@51 {
|
|
+ compatible = "nxp,pcf85063a";
|
|
+ reg = <0x51>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ frag100: fragment@100 {
|
|
+ target = <&i2c_arm>;
|
|
+ i2cbus: __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+
|
|
__overrides__ {
|
|
abx80x = <0>,"+0";
|
|
ds1307 = <0>,"+1";
|
|
@@ -251,6 +254,11 @@
|
|
pcf85363 = <0>,"+12";
|
|
rv1805 = <0>,"+13";
|
|
sd3078 = <0>,"+14";
|
|
+ pcf85063 = <0>,"+15";
|
|
+ pcf85063a = <0>,"+16";
|
|
+
|
|
+ i2c0 = <&frag100>, "target:0=",<&i2c0>;
|
|
+ i2c_csi_dsi = <&frag100>, "target:0=",<&i2c_csi_dsi>;
|
|
|
|
addr = <&abx80x>, "reg:0",
|
|
<&ds1307>, "reg:0",
|