[PATCH v3 1/2] arm64: dts: meson-g12b-odroid-n2: Enable RTC controller node

Anand Moon linux.amoon at gmail.com
Fri Aug 21 00:43:47 EDT 2020


Hi Kevin,

Thanks for your review comments.

On Fri, 21 Aug 2020 at 01:03, Kevin Hilman <khilman at baylibre.com> wrote:
>
> Anand Moon <linux.amoon at gmail.com> writes:
>
> > Enable RTC PCF8563 node on Odroid-N2 SBC, In order to
> > support the RTC wakealarm feature for suspend and resume.
> > Also assign an alias to the pcf8563 to rtc0 and meson-vrtc to rtc1
> > timer device to prevent it being assigned to /dev/rtc0
> > which disto userspace tools assume is a clock device.
> >
> > Cc: Neil Armstrong <narmstrong at baylibre.com>
> > Cc: Kevin Hilman <khilman at baylibre.com>
> > Suggested-by: Christian Hewitt <christianshewitt at gmail.com>
> > Signed-off-by: Anand Moon <linux.amoon at gmail.com>
> > ---
> > Changes V3
> > --Drop the INI GPIOAO.BIT7 pinctrl.
>
> Why did you drop this GPIO?  Isn't this the GPIO that the RTC uses to
> wakeup the system?  If so, this should be included as part of this
> patch.
>
> It probably still works because the bootloader configures this GPIO as
> input, but the kernel should not rely on the booloader for that, so
> please include as part of this patch.
>

Ok I will figure out the correct pinctrl need for this settings.
looking into the Odroid N2 schematics.

> Other than that, this is looking OK.
>
> Curious how you're testing this?
>
> When I tested with rtcwake (from buildroot), I'm getting this:
>
> / # rtcwake -d rtc0 -m mem -s4
> rtcwake: RTC_RD_TIME: Invalid argument
>
> Kevin

On my side I have tested on ArcLinux using mainline u-boot.

# uname -a
Linux archl-on2e 5.9.0-rc1-00105-gaabe42051eab #1 SMP PREEMPT Thu Aug
20 10:38:40 UTC 2020 aarch64 GNU/Linux

# sudo hwclock --show
2020-08-21 10:12:09.964155+05:30

# timedatectl status
               Local time: Fri 2020-08-21 10:12:30 IST
           Universal time: Fri 2020-08-21 04:42:30 UTC
                 RTC time: Fri 2020-08-21 04:42:32
                Time zone: Asia/Kolkata (IST, +0530)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

# rtcwake -d rtc0 -m mem -s4
rtcwake: wakeup from "mem" using rtc0 at Fri Aug 21 04:20:33 2020
[  113.003840] PM: suspend entry (deep)
[  113.004122] Filesystems sync: 0.000 seconds
[  113.386993] Freezing user space processes ... (elapsed 0.003 seconds) done.
[  113.391925] OOM killer disabled.
[  113.395132] Freezing remaining freezable tasks ... (elapsed 0.001
seconds) done.
[  113.405562] meson8b-dwmac ff3f0000.ethernet eth0: Link is Down
[  113.534222] Disabling non-boot CPUs ...
[  113.535014] CPU1: shutdown
[  113.535113] psci: CPU1 killed (polled 0 ms)
[  113.541518] CPU2: shutdown
[  113.541971] psci: CPU2 killed (polled 0 ms)
[  113.547949] CPU3: shutdown
[  113.548743] psci: CPU3 killed (polled 0 ms)
[  113.554753] CPU4: shutdown
[  113.555558] psci: CPU4 killed (polled 0 ms)
[  113.561863] CPU5: shutdown
[  113.563556] psci: CPU5 killed (polled 0 ms)
bl30 get wakeup sources!
process command 00000006
bl30 enter suspend!
Little core clk suspend rate 500000000
Big core clk suspend rate 24000000
store restore gp0 pll
suspend_counter: 1
Enter ddr suspend
DMC_DRAM_STAT11: 0x544
ddr suspend time: 2178us
alarm=0S
process command 00000001
GPIOA_11/13 off
cec ver:2018/04/19
CEC cfg:0x0000
WAKEUP GPIO cfg:0x00000000
use vddee new table!
kern log_addr:0x00
cec T: 00
err: tx not finish flag
cec reset
Set cec pinmux:0x11
Set cec log_addr:0x10,ADDR0:10
use vddee new table!
exit_reason:0x03
Enter ddr resume
ddr resume time: 124us
store restore gp0 pll
cfg15 3b00000
cfg15 33b00000
Lit[  113.567994] Enabling non-boot CPUs ...
[  113.568486] Detected VIPT I-cache on CPU1
[  113.568579] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[  113.569409] CPU1 is up
[  113.579874] Detected VIPT I-cache on CPU2
[  113.579918] arch_timer: CPU2: Trapping CNTVCT access
[  113.579932] CPU2: Booted secondary processor 0x0000000100 [0x410fd092]
[  113.580221] cpufreq: cpufreq_online: CPU2: Running at unlisted
freq: 499999 KHz
[  113.601661] cpufreq: cpufreq_online: CPU2: Unlisted initial
frequency changed to: 500000 KHz
[  113.610292] CPU2 is up
[  113.612682] Detected VIPT I-cache on CPU3
[  113.612706] arch_timer: CPU3: Trapping CNTVCT access
[  113.612713] CPU3: Booted secondary processor 0x0000000101 [0x410fd092]
[  113.613064] CPU3 is up
[  113.630312] Detected VIPT I-cache on CPU4
[  113.630336] arch_timer: CPU4: Trapping CNTVCT access
[  113.630344] CPU4: Booted secondary processor 0x0000000102 [0x410fd092]
[  113.630733] CPU4 is up
[  113.647997] Detected VIPT I-cache on CPU5
[  113.648020] arch_timer: CPU5: Trapping CNTVCT access
[  113.648028] CPU5: Booted secondary processor 0x0000000103 [0x410fd092]
[  113.648448] CPU5 is up
tle core clk resume rate 500000000
Big core clk resume rate 50000000
[  113.694610] meson8b-dwmac ff3f0000.ethernet eth0: No Safety
Features support found
[  113.696672] meson8b-dwmac ff3f0000.ethernet eth0: configuring for
phy/rgmii link mode
[  113.731329] usb usb1: root hub lost power or was reset
[  113.731573] usb usb2: root hub lost power or was reset
[  114.092879] usb 2-1: reset SuperSpeed Gen 1 USB device number 2
using xhci-hcd
[  114.244300] usb 1-1: reset high-speed USB device number 2 using xhci-hcd
[  114.771933] usb 1-1.4: reset full-speed USB device number 3 using xhci-hcd
[  114.967002] OOM killer enabled.
[  114.967165] Restarting tasks ... done.


# rtcwake -d rtc1 -m mem -s4
rtcwake: wakeup from "mem" using rtc1 at Thu Jan  1 00:02:32 1970
[  147.661305] PM: suspend entry (deep)
[  147.661836] Filesystems sync: 0.000 seconds
[  148.016605] Freezing user space processes ... (elapsed 0.001 seconds) done.
[  148.019636] OOM killer disabled.
[  148.022805] Freezing remaining freezable tasks ... (elapsed 0.001
seconds) done.
[  148.032945] meson8b-dwmac ff3f0000.ethernet eth0: Link is Down
[  148.167760] Disabling non-boot CPUs ...
[  148.169733] CPU1: shutdown
[  148.170846] psci: CPU1 killed (polled 0 ms)
[  148.177272] CPU2: shutdown
[  148.178390] psci: CPU2 killed (polled 0 ms)
[  148.184226] CPU3: shutdown
[  148.184293] psci: CPU3 killed (polled 0 ms)
[  148.190565] CPU4: shutdown
[  148.190631] psci: CPU4 killed (polled 0 ms)
[  148.197579] CPU5: shutdown
[  148.198689] psci: CPU5 killed (polled 0 ms)
bl30 get wakeup sources!
process command 00000006
bl30 enter suspend!
Little core clk suspend rate 250000000
Big core clk suspend rate 24000000
store restore gp0 pll
suspend_counter: 1
Enter ddr suspend
ddr suspend time: 16us
alarm=4S
process command 00000001
GPIOA_11/13 off
cec ver:2018/04/19
CEC cfg:0x0000
WAKEUP GPIO cfg:0x00000000
use vddee new table!
kern log_addr:0x00
cec T: 00
err: tx not finish flag
cec reset
Set cec pinmux:0x11
Set cec log_addr:0x10,ADDR0:10
use vddee new table!
exit_reason:0x03
Enter ddr resume
ddr resume time: 231us
store restore gp0 pll
cfg15 3b00000
cfg15 33b00000
Litt[  148.205717] Enabling non-boot CPUs ...
[  148.206395] Detected VIPT I-cache on CPU1
[  148.206552] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[  148.208110] CPU1 is up
[  148.217759] Detected VIPT I-cache on CPU2
[  148.217815] arch_timer: CPU2: Trapping CNTVCT access
[  148.217831] CPU2: Booted secondary processor 0x0000000100 [0x410fd092]
[  148.219095] cpufreq: cpufreq_online: CPU2: Running at unlisted
freq: 999999 KHz
[  148.239430] cpufreq: cpufreq_online: CPU2: Unlisted initial
frequency changed to: 1000000 KHz
[  148.248209] CPU2 is up
[  148.250643] Detected VIPT I-cache on CPU3
[  148.250668] arch_timer: CPU3: Trapping CNTVCT access
[  148.250676] CPU3: Booted secondary processor 0x0000000101 [0x410fd092]
[  148.251068] CPU3 is up
[  148.268231] Detected VIPT I-cache on CPU4
[  148.268256] arch_timer: CPU4: Trapping CNTVCT access
[  148.268263] CPU4: Booted secondary processor 0x0000000102 [0x410fd092]
[  148.268686] CPU4 is up
[  148.285889] Detected VIPT I-cache on CPU5
[  148.285913] arch_timer: CPU5: Trapping CNTVCT access
[  148.285921] CPU5: Booted secondary processor 0x0000000103 [0x410fd092]
[  148.286416] CPU5 is up
le core clk resume rate 250000000
Big core clk resume rate 50000000
[  148.338091] meson8b-dwmac ff3f0000.ethernet eth0: No Safety
Features support found
[  148.340483] meson8b-dwmac ff3f0000.ethernet eth0: configuring for
phy/rgmii link mode
[  148.454331] usb usb1: root hub lost power or was reset
[  148.454575] usb usb2: root hub lost power or was reset
[  148.814331] usb 2-1: reset SuperSpeed Gen 1 USB device number 2
using xhci-hcd
[  148.965394] usb 1-1: reset high-speed USB device number 2 using xhci-hcd
[  149.493501] usb 1-1.4: reset full-speed USB device number 3 using xhci-hcd
[  149.689468] Unable to handle kernel NULL pointer dereference at
virtual address 0000000000000008
[  149.692835] Mem abort info:
[  149.695588]   ESR = 0x96000004
[  149.698471]   EC = 0x25: DABT (current EL), IL = 32 bits
[  149.703825]   SET = 0, FnV = 0
[  149.706732]   EA = 0, S1PTW = 0
[  149.709922] Data abort info:
[  149.712767]   ISV = 0, ISS = 0x00000004
[  149.716559]   CM = 0, WnR = 0
[  149.719509] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000d42d4000
[  149.725909] [0000000000000008] pgd=0000000000000000, p4d=0000000000000000
[  149.732643] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[  149.738040] Modules linked in: rfkill snd_soc_hdmi_codec
dw_hdmi_i2s_audio dw_hdmi_cec meson_gxl realtek dwmac_generic
dwmac_meson8b stmmac_platform stmmac rc_odroid meson_dw_hdmi meson_ir
axg_audio dw_hdmi snd_soc_meson_g12a_toacodec meson_drm sclk_div
rtc_pcf8563 rc_core cec snd_soc_meson_g12a_tohdmitx clk_phase
snd_soc_meson_codec_glue nvmem_meson_efuse crct10dif_ce
snd_soc_meson_axg_sound_card drm_kms_helper snd_soc_meson_card_utils
meson_rng pwm_meson rtc_meson_vrtc rng_core reset_meson_audio_arb
mdio_mux_meson_g12a display_connector mdio_xpcs
snd_soc_meson_axg_tdmout snd_soc_meson_axg_tdmin
snd_soc_meson_axg_toddr meson_canvas snd_soc_meson_axg_frddr
snd_soc_meson_t9015 snd_soc_meson_axg_fifo snd_soc_simple_amplifier
snd_soc_meson_axg_tdm_interface snd_soc_meson_axg_tdm_formatter drm
ip_tables x_tables ipv6
[  149.809601] CPU: 3 PID: 417 Comm: rtcwake Not tainted
5.9.0-rc1-00105-gaabe42051eab #1
[  149.817393] Hardware name: Hardkernel ODROID-N2 (DT)
[  149.822344] pstate: 60000005 (nZCv daif -PAN -UAO BTYPE=--)
[  149.827906] pc : sugov_start+0x40/0x120
[  149.831687] lr : cpufreq_start_governor+0x54/0x90
[  149.836275] sp : ffff80001279bb20
[  149.839561] x29: ffff80001279bb20 x28: ffff0000d424c600
[  149.844817] x27: 0000000000000000 x26: 0000000000000000
[  149.850075] x25: ffff0000f2854218 x24: ffff800011ad1d84
[  149.855336] x23: ffff800011ab9980 x22: ffff8000116671b0
[  149.860595] x21: ffff800011aba360 x20: ffff0000f2854000
[  149.865855] x19: 0000000000000000 x18: 0000000000000001
[  149.871116] x17: 0000000000000000 x16: 0000000000000000
[  149.876380] x15: 000001bc458f2e9c x14: 0000000000000362
[  149.881639] x13: 0000000000000001 x12: 0000000000000000
[  149.886899] x11: 0000000000000001 x10: 00000000000009c0
[  149.892165] x9 : ffff80001279b860 x8 : ffff0000d424d020
[  149.897425] x7 : ffff0000d8d32e00 x6 : ffff0000f2854250
[  149.902685] x5 : ffff80001279ba90 x4 : 0000000000000000
[  149.907945] x3 : 0000000000000000 x2 : 00000000000003e8
[  149.913208] x1 : ffff800011ad1bb0 x0 : 00000000ffffffff
[  149.918472] Call trace:
[  149.920945]  sugov_start+0x40/0x120
[  149.924388]  cpufreq_start_governor+0x54/0x90
[  149.928689]  cpufreq_resume+0x88/0x170
[  149.932398]  dpm_resume+0x1c8/0x1e8
[  149.935836]  dpm_resume_end+0x18/0x30
[  149.939465]  suspend_devices_and_enter+0x23c/0x4d8
[  149.944197]  pm_suspend+0x258/0x2c0
[  149.947645]  state_store+0x8c/0x118
[  149.951133]  kobj_attr_store+0x18/0x30
[  149.954841]  sysfs_kf_write+0x44/0x58
[  149.958445]  kernfs_fop_write+0xfc/0x218
[  149.962340]  vfs_write+0xf0/0x230
[  149.965609]  ksys_write+0x6c/0xf8
[  149.968889]  __arm64_sys_write+0x1c/0x28
[  149.972788]  el0_svc_common.constprop.0+0x6c/0x168
[  149.977510]  do_el0_svc+0x24/0x90
[  149.980787]  el0_sync_handler+0x90/0x198
[  149.984649]  el0_sync+0x158/0x180
[  149.987985] Code: f9405013 910d82b5 912602f7 12800000 (f9400661)
[  149.993970] ---[ end trace f23c646bedf2247c ]---

Best Regards
-Anand



More information about the linux-arm-kernel mailing list