diff --git a/arch/arm/boot/dts/amlogic/mesontxl.dtsi b/arch/arm/boot/dts/amlogic/mesontxl.dtsi index 2316d578e746..12accae5b6bf 100644 --- a/arch/arm/boot/dts/amlogic/mesontxl.dtsi +++ b/arch/arm/boot/dts/amlogic/mesontxl.dtsi @@ -388,6 +388,14 @@ sys_poweroff = <0x84000008>; }; + rtc { + compatible = "amlogic, aml_vrtc"; + alarm_reg_addr = <0xc81000a8>; + timer_e_addr = <0xc1109988>; + init_date = "2018/01/01"; + status = "okay"; + }; + soc { compatible = "simple-bus"; #address-cells = <1>; diff --git a/arch/arm64/boot/dts/amlogic/mesontxl.dtsi b/arch/arm64/boot/dts/amlogic/mesontxl.dtsi index 43885b0e5554..ffc50a277db0 100644 --- a/arch/arm64/boot/dts/amlogic/mesontxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesontxl.dtsi @@ -388,6 +388,14 @@ sys_poweroff = <0x84000008>; }; + rtc { + compatible = "amlogic, aml_vrtc"; + alarm_reg_addr = <0xc81000a8>; + timer_e_addr = <0xc1109988>; + init_date = "2018/01/01"; + status = "okay"; + }; + soc { compatible = "simple-bus"; #address-cells = <2>; diff --git a/drivers/amlogic/vrtc/aml_vrtc.c b/drivers/amlogic/vrtc/aml_vrtc.c index 063cb4eaddbd..1f102f36fbcd 100644 --- a/drivers/amlogic/vrtc/aml_vrtc.c +++ b/drivers/amlogic/vrtc/aml_vrtc.c @@ -188,8 +188,12 @@ static int aml_vrtc_probe(struct platform_device *pdev) if (!ret) { pr_debug("init_date: %s\n", str); if (!scpi_get_vrtc(&vrtc_val)) { - vrtc_init_date = vrtc_val; - pr_debug("get vrtc: %us\n", vrtc_init_date); + if (!vrtc_val) + parse_init_date(str); + else { + vrtc_init_date = vrtc_val; + pr_debug("get vrtc: %us\n", vrtc_init_date); + } } else parse_init_date(str); }