diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0612-overlays-Add-PCF2129-RTC.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-4.19/950-0612-overlays-Add-PCF2129-RTC.patch | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0612-overlays-Add-PCF2129-RTC.patch b/target/linux/bcm27xx/patches-4.19/950-0612-overlays-Add-PCF2129-RTC.patch new file mode 100644 index 0000000000..7bddfdc6aa --- /dev/null +++ b/target/linux/bcm27xx/patches-4.19/950-0612-overlays-Add-PCF2129-RTC.patch @@ -0,0 +1,187 @@ +From 2308f60bb68de69306c542de3983be0007cad37b Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.org> +Date: Mon, 15 Jul 2019 10:39:05 +0100 +Subject: [PATCH] overlays: Add PCF2129 RTC + +Add support for the PCF2129 RTC to i2c-rtc and i2c-rtc-gpio overlays. +Also add rv3028 to i2c-rtc-gpio (it was missed previously), and don't +attempt to set an alternate address for the PCF2127. + +Signed-off-by: Phil Elwell <phil@raspberrypi.org> +--- + arch/arm/boot/dts/overlays/README | 11 ++++- + .../dts/overlays/i2c-rtc-gpio-overlay.dts | 41 +++++++++++++++++-- + .../arm/boot/dts/overlays/i2c-rtc-overlay.dts | 19 ++++++++- + 3 files changed, 64 insertions(+), 7 deletions(-) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1022,6 +1022,8 @@ Params: abx80x Select o + + pcf2127 Select the PCF2127 device + ++ pcf2129 Select the PCF2129 device ++ + pcf8523 Select the PCF8523 device + + pcf8563 Select the PCF8563 device +@@ -1067,10 +1069,14 @@ Params: abx80x Select o + + pcf2127 Select the PCF2127 device + ++ pcf2129 Select the PCF2129 device ++ + pcf8523 Select the PCF8523 device + + pcf8563 Select the PCF8563 device + ++ rv3028 Select the Micro Crystal RV3028 device ++ + addr Sets the address for the RTC. Note that the + device must be configured to use the specified + address. +@@ -1079,11 +1085,14 @@ Params: abx80x Select o + "schottky" (ABx80x only) + + trickle-resistor-ohms Resistor value for trickle charge (DS1339, +- ABx80x) ++ ABx80x, RV3028) + + wakeup-source Specify that the RTC can be used as a wakeup + source + ++ backup-switchover-mode Backup power supply switch mode. Must be 0 for ++ off or 1 for Vdd < VBackup (RV3028 only) ++ + i2c_gpio_sda GPIO used for I2C data (default "23") + + i2c_gpio_scl GPIO used for I2C clock (default "24") +--- a/arch/arm/boot/dts/overlays/i2c-rtc-gpio-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-rtc-gpio-overlay.dts +@@ -121,7 +121,7 @@ + #size-cells = <0>; + status = "okay"; + +- pcf2127: pcf2127@51 { ++ pcf2127@51 { + compatible = "nxp,pcf2127"; + reg = <0x51>; + status = "okay"; +@@ -174,6 +174,36 @@ + }; + }; + ++ fragment@11 { ++ target = <&i2c_gpio>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ rv3028: rv3028@52 { ++ compatible = "microcrystal,rv3028"; ++ reg = <0x52>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ fragment@12 { ++ target = <&i2c_gpio>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ pcf2129@51 { ++ compatible = "nxp,pcf2129"; ++ reg = <0x51>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ + __overrides__ { + abx80x = <0>,"+1"; + ds1307 = <0>,"+2"; +@@ -185,6 +215,8 @@ + pcf8523 = <0>,"+8"; + pcf8563 = <0>,"+9"; + m41t62 = <0>,"+10"; ++ rv3028 = <0>,"+11"; ++ pcf2129 = <0>,"+12"; + + addr = <&abx80x>, "reg:0", + <&ds1307>, "reg:0", +@@ -192,18 +224,19 @@ + <&ds3231>, "reg:0", + <&mcp7940x>, "reg:0", + <&mcp7941x>, "reg:0", +- <&pcf2127>, "reg:0", + <&pcf8523>, "reg:0", + <&pcf8563>, "reg:0", + <&m41t62>, "reg:0"; + + trickle-diode-type = <&abx80x>,"abracon,tc-diode"; + trickle-resistor-ohms = <&ds1339>,"trickle-resistor-ohms:0", +- <&abx80x>,"abracon,tc-resistor"; ++ <&abx80x>,"abracon,tc-resistor", ++ <&rv3028>,"trickle-resistor-ohms:0"; ++ backup-switchover-mode = <&rv3028>,"backup-switchover-mode:0"; + wakeup-source = <&ds1339>,"wakeup-source?", + <&ds3231>,"wakeup-source?", + <&mcp7940x>,"wakeup-source?", +- <&mcp7941x>,"wakeup-source?"; ++ <&mcp7941x>,"wakeup-source?"; + i2c_gpio_sda = <&i2c_gpio>,"gpios:4"; + i2c_gpio_scl = <&i2c_gpio>,"gpios:16"; + i2c_gpio_delay_us = <&i2c_gpio>,"i2c-gpio,delay-us:0"; +--- a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts +@@ -105,7 +105,7 @@ + #size-cells = <0>; + status = "okay"; + +- pcf2127: pcf2127@51 { ++ pcf2127@51 { + compatible = "nxp,pcf2127"; + reg = <0x51>; + status = "okay"; +@@ -173,6 +173,21 @@ + }; + }; + ++ fragment@11 { ++ target = <&i2c_arm>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ pcf2129@51 { ++ compatible = "nxp,pcf2129"; ++ reg = <0x51>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ + __overrides__ { + abx80x = <0>,"+0"; + ds1307 = <0>,"+1"; +@@ -185,6 +200,7 @@ + pcf8563 = <0>,"+8"; + m41t62 = <0>,"+9"; + rv3028 = <0>,"+10"; ++ pcf2129 = <0>,"+11"; + + addr = <&abx80x>, "reg:0", + <&ds1307>, "reg:0", +@@ -192,7 +208,6 @@ + <&ds3231>, "reg:0", + <&mcp7940x>, "reg:0", + <&mcp7941x>, "reg:0", +- <&pcf2127>, "reg:0", + <&pcf8523>, "reg:0", + <&pcf8563>, "reg:0", + <&m41t62>, "reg:0"; |