Did you enable the driver for this in the kernel configuration, recompiled kernel and modules and deployed them?
Just adding the configuration data to the device tree by itself is not enough.
The dmesg snipplet you provide is created by the driver for the i.MX 6 internal RTC and has nothing to do with your PCF8563 device. The output of dmesg | grep -i rtc and dmesg | grep -i pcf might give further clues.
You could also first use the userspace I2C tools to confirm that the device is seen and can be accessed as an I2C device.
Thanks Max for the input. I am still not able to read the clock.
Here is what I did. I enabled the driver in the Kernel Config file. Compiled all the modules, uImage and device tree files. I deployed the uImage and device tree.
So what did your experiments with the I2C user space tools give?
e.g. when I probe for the RTC on our carrier boards, m41t00 at address 0x68 I see the device on the I2C bus and I can read register 0 (which contains the seconds) as follows:
root@colibri-imx6:~# i2cdetect 2
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-2.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@colibri-imx6:~# i2cget -f 2 0x68 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will read from device file /dev/i2c-2, chip address 0x68, data address
0x00, using read byte data.
Continue? [Y/n] y
0x10
I2C does not have its pull up and/or the pull up resistors don’t have the right value. An oszilloscope on SCL/SDA while doing the i2cget -f 2 0x51 0 might shed light on this
Your RTC does not use 0x51 as its device address
The device tree does not setup the I2C bus correctly, e.g. pinmuxing is not done or not done on the pins you expect it to be