xref: /rk3399_ARM-atf/plat/mediatek/mt8173/drivers/rtc/rtc.c (revision f389d0e90011ac4816e12f62f4fe3a179ef15cef)
17d116dccSCC Ma /*
27d116dccSCC Ma  * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
37d116dccSCC Ma  *
482cb2c1aSdp-arm  * SPDX-License-Identifier: BSD-3-Clause
57d116dccSCC Ma  */
609d40e0eSAntonio Nino Diaz 
77d116dccSCC Ma #include <assert.h>
809d40e0eSAntonio Nino Diaz #include <common/debug.h>
909d40e0eSAntonio Nino Diaz 
107d116dccSCC Ma #include <mt8173_def.h>
117d116dccSCC Ma #include <rtc.h>
127d116dccSCC Ma 
137d116dccSCC Ma void rtc_bbpu_power_down(void)
147d116dccSCC Ma {
157d116dccSCC Ma 	uint16_t bbpu;
167d116dccSCC Ma 
177d116dccSCC Ma 	/* pull PWRBB low */
187d116dccSCC Ma 	bbpu = RTC_BBPU_KEY | RTC_BBPU_AUTO | RTC_BBPU_PWREN;
197d116dccSCC Ma 	if (Writeif_unlock()) {
207d116dccSCC Ma 		RTC_Write(RTC_BBPU, bbpu);
21*f389d0e9Skenny liang 		if (!RTC_Write_Trigger())
22b99d961cSJimmy Huang 			assert(0);
237d116dccSCC Ma 	} else {
24b99d961cSJimmy Huang 		assert(0);
257d116dccSCC Ma 	}
267d116dccSCC Ma }
27