Index: sys/arch/arm/amlogic/meson8b_clkc.c =================================================================== RCS file: /cvsroot/src/sys/arch/arm/amlogic/meson8b_clkc.c,v retrieving revision 1.3 diff -u -p -r1.3 meson8b_clkc.c --- sys/arch/arm/amlogic/meson8b_clkc.c 25 Feb 2019 19:30:17 -0000 1.3 +++ sys/arch/arm/amlogic/meson8b_clkc.c 13 Aug 2019 09:16:53 -0000 @@ -74,6 +74,7 @@ static int meson8b_clkc_match(device_t, static void meson8b_clkc_attach(device_t, device_t, void *); static const char * const compatible[] = { + "amlogic,meson8-clkc", "amlogic,meson8b-clkc", NULL }; @@ -333,18 +334,12 @@ meson8b_clkc_attach(device_t parent, dev { struct meson_clk_softc * const sc = device_private(self); struct fdt_attach_args * const faa = aux; - bus_addr_t addr; - bus_size_t size; sc->sc_dev = self; sc->sc_phandle = faa->faa_phandle; - sc->sc_bst = faa->faa_bst; - if (fdtbus_get_reg(sc->sc_phandle, MESON8B_CLKC_REG_INDEX, &addr, &size) != 0) { - aprint_error(": couldn't get registers\n"); - return; - } - if (bus_space_map(sc->sc_bst, addr, size, 0, &sc->sc_bsh) != 0) { - aprint_error(": couldn't map registers\n"); + sc->sc_syscon = fdtbus_syscon_lookup(OF_parent(sc->sc_phandle)); + if (sc->sc_syscon == NULL) { + aprint_error(": couldn't get syscon registers\n"); return; } Index: sys/arch/arm/amlogic/meson_platform.c =================================================================== RCS file: /cvsroot/src/sys/arch/arm/amlogic/meson_platform.c,v retrieving revision 1.11 diff -u -p -r1.11 meson_platform.c --- sys/arch/arm/amlogic/meson_platform.c 21 Apr 2019 15:57:33 -0000 1.11 +++ sys/arch/arm/amlogic/meson_platform.c 13 Aug 2019 09:16:53 -0000 @@ -256,7 +256,7 @@ meson8b_platform_device_register(device_ strcat(boot_args, rootarg); } } - + meson_platform_device_register(self, aux); } #endif @@ -447,7 +447,7 @@ static const struct arm_platform meson8b .ap_init_attach_args = meson_platform_init_attach_args, .ap_device_register = meson8b_platform_device_register, .ap_reset = meson8b_platform_reset, - .ap_delay = a9tmr_delay, + .ap_delay = a9ptmr_delay, .ap_uart_freq = meson_platform_uart_freq, .ap_mpstart = meson8b_mpstart, }; Index: sys/arch/arm/dts/meson8b.dtsi =================================================================== RCS file: /cvsroot/src/sys/arch/arm/dts/meson8b.dtsi,v retrieving revision 1.5 diff -u -p -r1.5 meson8b.dtsi --- sys/arch/arm/dts/meson8b.dtsi 20 Jan 2019 17:57:29 -0000 1.5 +++ sys/arch/arm/dts/meson8b.dtsi 13 Aug 2019 09:16:55 -0000 @@ -29,13 +29,6 @@ #define CLKID_PERIPH 126 / { - timer@c4300200 { - compatible = "arm,cortex-a5-global-timer"; - reg = <0xc4300200 0x20>; - interrupts = ; - clocks = <&clkc CLKID_PERIPH>; - }; - genfb: fb@c8006000 { compatible = "amlogic,meson8b-fb"; reg = <0xc8006000 0x400>, /* DMC */ Index: sys/arch/evbarm/conf/GENERIC =================================================================== RCS file: /cvsroot/src/sys/arch/evbarm/conf/GENERIC,v retrieving revision 1.49 diff -u -p -r1.49 GENERIC --- sys/arch/evbarm/conf/GENERIC 3 Aug 2019 13:33:10 -0000 1.49 +++ sys/arch/evbarm/conf/GENERIC 13 Aug 2019 09:16:57 -0000 @@ -298,6 +298,8 @@ syscon* at fdt? pass 1 # Generic Syste #zynqslcr* at fdt? pass 1 # Zynq 7000 system Controller # Timer +a9ptmr* at fdt? pass 2 # ARM Cortex A5/A9 Private Timer +arma9ptmr* at a9ptmr? a9tmr* at fdt? pass 2 # ARM Cortex A5/A9 Timer arma9tmr* at a9tmr? gtmr* at fdt? pass 1 # ARM Generic Timer