Quantcast
Channel: Processors
Viewing all articles
Browse latest Browse all 149055

Forum Post: rtc-tps65910 issue on AM335x

$
0
0

Hi,

My board is using tps65910 rtc as system rtc, but it couldnt get 'hwclock' result in linux.

PSP: AM335xPSP_04.06.00.11

Error message:

#~/hwclock -D
hwclock from util-linux 2.20.1
Using /dev interface to clock.
Last drift adjustment done at 1293846973 seconds after 1969
Last calibration done at 1293846973 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
hwclock: select() to /dev/rtc to wait for clock tick timed out: Success
...synchronization failed

 

But it can save/load rtc time in halt/boot stage without any issue.

Boot up

[ 1.173093] tps65910-rtc tps65910-rtc: rtc core: registered tps65910-rtc as rtc0
[ 1.336586] tps65910-rtc tps65910-rtc: setting system clock to 2014-05-18 17:34:29 UTC (1400434469)

Halt

[info] Saving the system clock.

hwclock: select() to /dev/rtc0 to wait for clock tick timed out: Success
[info] Hardware Clock updated to Sun May 18 18:11:48 UTC 2014.

so I cat /proc/interrupts, found it didnt trigger rtc interrupt 

200: 0 GPIO tps65910
374: 0 tps65910 rtc-tps65910

It seems like user space cannot access interrupt normally and I am not sure that bug is in PSP or the setting of board.c. 

Board.c

        pinmux for RTC 

 {"uart0_ctsn.gpio1_8", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP}, 

tps65910 setting

#define GPIO_RTC_PMIC_IRQ GPIO_TO_PIN(1, 8)

static struct tps65910_board am335x_tps65910_info = {
.irq_base = TWL4030_IRQ_BASE,
.gpio_base = OMAP_MAX_GPIO_LINES,
.irq = OMAP_GPIO_IRQ(GPIO_RTC_PMIC_IRQ),
.tps65910_pmic_init_data[TPS65910_REG_VRTC] = &am335x_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VIO] = &am335x_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VDD1] = &am335x_vdd1,
.tps65910_pmic_init_data[TPS65910_REG_VDD2] = &am335x_vdd2,
.tps65910_pmic_init_data[TPS65910_REG_VDD3] = &am335x_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VDIG1] = &am335x_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VDIG2] = &am335x_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VPLL] = &am335x_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VDAC] = &am335x_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VAUX1] = &am335x_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VAUX2] = &am335x_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VAUX33] = &am335x_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VMMC] = &am335x_dummy,
};


Viewing all articles
Browse latest Browse all 149055

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>