* [PATCH 0/6] ARM: rockchip: add initial support for rk3288 @ 2014-07-15 22:58 Heiko Stübner 2014-07-15 22:59 ` [PATCH 1/6] dt-bindings: arm: add arm,cortex-a12 cpu compatible property Heiko Stübner ` (6 more replies) 0 siblings, 7 replies; 23+ messages in thread From: Heiko Stübner @ 2014-07-15 22:58 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Cc: olof-nZhT3qVonbNeoWH0uzbU5w, dianders-F7+t8E8rja9g9hUCZPvPmw, eddie.cai-TNX95d0MmH7DzftRWevZcw, devicetree-u79uwXL29TY76Z2rM5mHXA This series adds the initial support for Rockchip rk3288 socs including debug uart and devicetree files for the rk3288 evaluation board and enables these boards to boot into an initramfs. The series depends on an updated bootloader, which must start the timer supplying the architected timer, which we will hopefully get in the next days. It also depends on the patch "irqchip: gic: Add binding probe for ARM GIC400" which will hopefully make it into the irqchip tree shortly. Heiko Stuebner (6): dt-bindings: arm: add arm,cortex-a12 cpu compatible property ARM: rockchip: add debug uart used by rk3288 ARM: Kconfig: set default gpio number for rockchip SoCs ARM: rockchip: enable support for RK3288 SoCs ARM: dts: rockchip: add core rk3288 dtsi ARM: dts: add rk3288 evaluation board Documentation/devicetree/bindings/arm/cpus.txt | 1 + arch/arm/Kconfig | 1 + arch/arm/Kconfig.debug | 12 +- arch/arm/boot/dts/rk3288-evb-act8846.dts | 136 ++++++ arch/arm/boot/dts/rk3288-evb-rk808.dts | 19 + arch/arm/boot/dts/rk3288-evb.dtsi | 77 ++++ arch/arm/boot/dts/rk3288.dtsi | 561 +++++++++++++++++++++++++ arch/arm/mach-rockchip/Kconfig | 1 + arch/arm/mach-rockchip/rockchip.c | 1 + 9 files changed, 808 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/rk3288-evb-act8846.dts create mode 100644 arch/arm/boot/dts/rk3288-evb-rk808.dts create mode 100644 arch/arm/boot/dts/rk3288-evb.dtsi create mode 100644 arch/arm/boot/dts/rk3288.dtsi -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 1/6] dt-bindings: arm: add arm,cortex-a12 cpu compatible property 2014-07-15 22:58 [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Heiko Stübner @ 2014-07-15 22:59 ` Heiko Stübner 2014-07-16 0:56 ` Olof Johansson 2014-07-15 23:00 ` [PATCH 2/6] ARM: rockchip: add debug uart used by rk3288 Heiko Stübner ` (5 subsequent siblings) 6 siblings, 1 reply; 23+ messages in thread From: Heiko Stübner @ 2014-07-15 22:59 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Cc: olof-nZhT3qVonbNeoWH0uzbU5w, dianders-F7+t8E8rja9g9hUCZPvPmw, eddie.cai-TNX95d0MmH7DzftRWevZcw, devicetree-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala This is necessary for the new RK3288 soc. Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> --- Documentation/devicetree/bindings/arm/cpus.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt index 1fe72a0..620a1a8 100644 --- a/Documentation/devicetree/bindings/arm/cpus.txt +++ b/Documentation/devicetree/bindings/arm/cpus.txt @@ -152,6 +152,7 @@ nodes to be present and contain the properties described below. "arm,cortex-a7" "arm,cortex-a8" "arm,cortex-a9" + "arm,cortex-a12" "arm,cortex-a15" "arm,cortex-a53" "arm,cortex-a57" -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 1/6] dt-bindings: arm: add arm,cortex-a12 cpu compatible property 2014-07-15 22:59 ` [PATCH 1/6] dt-bindings: arm: add arm,cortex-a12 cpu compatible property Heiko Stübner @ 2014-07-16 0:56 ` Olof Johansson 2014-07-16 9:03 ` Mark Rutland 0 siblings, 1 reply; 23+ messages in thread From: Olof Johansson @ 2014-07-16 0:56 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, dianders-F7+t8E8rja9g9hUCZPvPmw, eddie.cai-TNX95d0MmH7DzftRWevZcw, devicetree-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala On Wed, Jul 16, 2014 at 12:59:33AM +0200, Heiko Stübner wrote: > This is necessary for the new RK3288 soc. > > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> > --- > Documentation/devicetree/bindings/arm/cpus.txt | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt > index 1fe72a0..620a1a8 100644 > --- a/Documentation/devicetree/bindings/arm/cpus.txt > +++ b/Documentation/devicetree/bindings/arm/cpus.txt > @@ -152,6 +152,7 @@ nodes to be present and contain the properties described below. > "arm,cortex-a7" > "arm,cortex-a8" > "arm,cortex-a9" > + "arm,cortex-a12" > "arm,cortex-a15" > "arm,cortex-a53" You might as well add -a17 while you're at it, since it's an announced part from ARM. -Olof -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 1/6] dt-bindings: arm: add arm,cortex-a12 cpu compatible property 2014-07-16 0:56 ` Olof Johansson @ 2014-07-16 9:03 ` Mark Rutland 0 siblings, 0 replies; 23+ messages in thread From: Mark Rutland @ 2014-07-16 9:03 UTC (permalink / raw) To: Olof Johansson Cc: devicetree@vger.kernel.org, Heiko Stübner, Pawel Moll, Ian Campbell, dianders@chromium.org, Rob Herring, eddie.cai@rock-chips.com, Kumar Gala, linux-arm-kernel@lists.infradead.org On Wed, Jul 16, 2014 at 01:56:16AM +0100, Olof Johansson wrote: > On Wed, Jul 16, 2014 at 12:59:33AM +0200, Heiko Stübner wrote: > > This is necessary for the new RK3288 soc. > > > > Signed-off-by: Heiko Stuebner <heiko@sntech.de> > > --- > > Documentation/devicetree/bindings/arm/cpus.txt | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt > > index 1fe72a0..620a1a8 100644 > > --- a/Documentation/devicetree/bindings/arm/cpus.txt > > +++ b/Documentation/devicetree/bindings/arm/cpus.txt > > @@ -152,6 +152,7 @@ nodes to be present and contain the properties described below. > > "arm,cortex-a7" > > "arm,cortex-a8" > > "arm,cortex-a9" > > + "arm,cortex-a12" > > "arm,cortex-a15" > > "arm,cortex-a53" > > You might as well add -a17 while you're at it, since it's an announced part > from ARM. Yes please! For said patch with both strings: Acked-by: Mark Rutland <mark.rutland@arm.com> Thanks, Mark. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 2/6] ARM: rockchip: add debug uart used by rk3288 2014-07-15 22:58 [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Heiko Stübner 2014-07-15 22:59 ` [PATCH 1/6] dt-bindings: arm: add arm,cortex-a12 cpu compatible property Heiko Stübner @ 2014-07-15 23:00 ` Heiko Stübner 2014-07-16 4:13 ` Doug Anderson 2014-07-15 23:01 ` [PATCH 3/6] ARM: Kconfig: set default gpio number for rockchip SoCs Heiko Stübner ` (4 subsequent siblings) 6 siblings, 1 reply; 23+ messages in thread From: Heiko Stübner @ 2014-07-15 23:00 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Cc: olof-nZhT3qVonbNeoWH0uzbU5w, dianders-F7+t8E8rja9g9hUCZPvPmw, eddie.cai-TNX95d0MmH7DzftRWevZcw, devicetree-u79uwXL29TY76Z2rM5mHXA, Russell King The uarts on rk3288 are still compatible with the dw_8250, but located at a different position and need DEBUG_UART_8250_WORD enabled. Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> --- arch/arm/Kconfig.debug | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index 8f90595..f68def0 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -613,6 +613,14 @@ choice Say Y here if you want kernel low-level debugging support on Rockchip based platforms. + config DEBUG_RK32_UART2 + bool "Kernel low-level debugging messages via Rockchip RK32 UART2" + depends on ARCH_ROCKCHIP + select DEBUG_UART_8250 + help + Say Y here if you want kernel low-level debugging support + on Rockchip RK32xx based platforms. + config DEBUG_S3C_UART0 depends on PLAT_SAMSUNG select DEBUG_EXYNOS_UART if ARCH_EXYNOS @@ -1096,6 +1104,7 @@ config DEBUG_UART_PHYS default 0xf991e000 if DEBUG_QCOM_UARTDM default 0xfcb00000 if DEBUG_HI3620_UART default 0xfe800000 if ARCH_IOP32X + default 0xff690000 if DEBUG_RK32_UART2 default 0xffc02000 if DEBUG_SOCFPGA_UART default 0xffd82340 if ARCH_IOP13XX default 0xfff36000 if DEBUG_HIGHBANK_UART @@ -1152,6 +1161,7 @@ config DEBUG_UART_VIRT default 0xfec02000 if DEBUG_SOCFPGA_UART default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0 + default 0xfec90000 if DEBUG_RK32_UART2 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 default 0xfed12000 if ARCH_KIRKWOOD @@ -1186,7 +1196,7 @@ config DEBUG_UART_8250_WORD ARCH_KEYSTONE || \ DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \ DEBUG_DAVINCI_DA8XX_UART2 || \ - DEBUG_BCM_KONA_UART + DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 config DEBUG_UART_8250_FLOW_CONTROL bool "Enable flow control for 8250 UART" -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 2/6] ARM: rockchip: add debug uart used by rk3288 2014-07-15 23:00 ` [PATCH 2/6] ARM: rockchip: add debug uart used by rk3288 Heiko Stübner @ 2014-07-16 4:13 ` Doug Anderson [not found] ` <CAD=FV=W3aWeT3RP5_g9r8kV8ToeHfyn57JY-py2zGVW9DF_7RQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 23+ messages in thread From: Doug Anderson @ 2014-07-16 4:13 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Olof Johansson, Eddie Cai, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Russell King Heiko, On Tue, Jul 15, 2014 at 4:00 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > The uarts on rk3288 are still compatible with the dw_8250, but located > at a different position and need DEBUG_UART_8250_WORD enabled. > > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> > --- > arch/arm/Kconfig.debug | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug > index 8f90595..f68def0 100644 > --- a/arch/arm/Kconfig.debug > +++ b/arch/arm/Kconfig.debug > @@ -613,6 +613,14 @@ choice > Say Y here if you want kernel low-level debugging support > on Rockchip based platforms. > > + config DEBUG_RK32_UART2 It's slightly confusing that you didn't rename the old "DEBUG_RK3X_UART2". Other than that: Reviewed-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> Tested-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <CAD=FV=W3aWeT3RP5_g9r8kV8ToeHfyn57JY-py2zGVW9DF_7RQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH 2/6] ARM: rockchip: add debug uart used by rk3288 [not found] ` <CAD=FV=W3aWeT3RP5_g9r8kV8ToeHfyn57JY-py2zGVW9DF_7RQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2014-07-16 9:11 ` Heiko Stübner 2014-07-16 15:09 ` Doug Anderson 0 siblings, 1 reply; 23+ messages in thread From: Heiko Stübner @ 2014-07-16 9:11 UTC (permalink / raw) To: Doug Anderson Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Olof Johansson, Eddie Cai, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Russell King Am Dienstag, 15. Juli 2014, 21:13:10 schrieb Doug Anderson: > Heiko, > > On Tue, Jul 15, 2014 at 4:00 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > > The uarts on rk3288 are still compatible with the dw_8250, but located > > at a different position and need DEBUG_UART_8250_WORD enabled. > > > > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> > > --- > > > > arch/arm/Kconfig.debug | 12 +++++++++++- > > 1 file changed, 11 insertions(+), 1 deletion(-) > > > > diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug > > index 8f90595..f68def0 100644 > > --- a/arch/arm/Kconfig.debug > > +++ b/arch/arm/Kconfig.debug > > @@ -613,6 +613,14 @@ choice > > > > Say Y here if you want kernel low-level debugging > > support > > on Rockchip based platforms. > > > > + config DEBUG_RK32_UART2 > > It's slightly confusing that you didn't rename the old "DEBUG_RK3X_UART2". My problem is, to what :-) ... DEBUG_RK30_UART2 ? RK30xx and RK31xx share these, but I guess at least the description should be adapted. > > Other than that: > > Reviewed-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> > Tested-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/6] ARM: rockchip: add debug uart used by rk3288 2014-07-16 9:11 ` Heiko Stübner @ 2014-07-16 15:09 ` Doug Anderson 0 siblings, 0 replies; 23+ messages in thread From: Doug Anderson @ 2014-07-16 15:09 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Olof Johansson, Eddie Cai, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Russell King Heiko, On Wed, Jul 16, 2014 at 2:11 AM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > Am Dienstag, 15. Juli 2014, 21:13:10 schrieb Doug Anderson: >> Heiko, >> >> On Tue, Jul 15, 2014 at 4:00 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: >> > The uarts on rk3288 are still compatible with the dw_8250, but located >> > at a different position and need DEBUG_UART_8250_WORD enabled. >> > >> > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> >> > --- >> > >> > arch/arm/Kconfig.debug | 12 +++++++++++- >> > 1 file changed, 11 insertions(+), 1 deletion(-) >> > >> > diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug >> > index 8f90595..f68def0 100644 >> > --- a/arch/arm/Kconfig.debug >> > +++ b/arch/arm/Kconfig.debug >> > @@ -613,6 +613,14 @@ choice >> > >> > Say Y here if you want kernel low-level debugging >> > support >> > on Rockchip based platforms. >> > >> > + config DEBUG_RK32_UART2 >> >> It's slightly confusing that you didn't rename the old "DEBUG_RK3X_UART2". > > My problem is, to what :-) ... DEBUG_RK30_UART2 ? > > RK30xx and RK31xx share these, but I guess at least the description should be > adapted. Yeah, trying to get these things right is an impossible task. The only thing I've ever seen that's sane is to just name things after the first person in the code base to use them rather than trying to guess ahead of time how similar products with similar marketing name will be in the future. ...agree that even if you don't do the rename here that updating the description would be nice. -Doug -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 3/6] ARM: Kconfig: set default gpio number for rockchip SoCs 2014-07-15 22:58 [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Heiko Stübner 2014-07-15 22:59 ` [PATCH 1/6] dt-bindings: arm: add arm,cortex-a12 cpu compatible property Heiko Stübner 2014-07-15 23:00 ` [PATCH 2/6] ARM: rockchip: add debug uart used by rk3288 Heiko Stübner @ 2014-07-15 23:01 ` Heiko Stübner 2014-07-16 4:41 ` Doug Anderson 2014-07-15 23:01 ` [PATCH 4/6] ARM: rockchip: enable support for RK3288 SoCs Heiko Stübner ` (3 subsequent siblings) 6 siblings, 1 reply; 23+ messages in thread From: Heiko Stübner @ 2014-07-15 23:01 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Cc: olof-nZhT3qVonbNeoWH0uzbU5w, dianders-F7+t8E8rja9g9hUCZPvPmw, eddie.cai-TNX95d0MmH7DzftRWevZcw, devicetree-u79uwXL29TY76Z2rM5mHXA, Russell King The new rk3288 needs a bigger gpio space, as it has 9 gpio banks. Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 87b63fd..8d1dee0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1574,6 +1574,7 @@ config ARCH_NR_GPIO default 416 if ARCH_SUNXI default 392 if ARCH_U8500 default 352 if ARCH_VT8500 + default 288 if ARCH_ROCKCHIP default 264 if MACH_H4700 default 0 help -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 3/6] ARM: Kconfig: set default gpio number for rockchip SoCs 2014-07-15 23:01 ` [PATCH 3/6] ARM: Kconfig: set default gpio number for rockchip SoCs Heiko Stübner @ 2014-07-16 4:41 ` Doug Anderson 0 siblings, 0 replies; 23+ messages in thread From: Doug Anderson @ 2014-07-16 4:41 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Olof Johansson, Eddie Cai, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Russell King Heiko, On Tue, Jul 15, 2014 at 4:01 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > The new rk3288 needs a bigger gpio space, as it has 9 gpio banks. > > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> > --- > arch/arm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 87b63fd..8d1dee0 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1574,6 +1574,7 @@ config ARCH_NR_GPIO > default 416 if ARCH_SUNXI > default 392 if ARCH_U8500 > default 352 if ARCH_VT8500 > + default 288 if ARCH_ROCKCHIP Looks reasonable. 9 banks of 32 and that matches what's in the pinmux driver. Reviewed-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> Tested-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 4/6] ARM: rockchip: enable support for RK3288 SoCs 2014-07-15 22:58 [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Heiko Stübner ` (2 preceding siblings ...) 2014-07-15 23:01 ` [PATCH 3/6] ARM: Kconfig: set default gpio number for rockchip SoCs Heiko Stübner @ 2014-07-15 23:01 ` Heiko Stübner 2014-07-16 19:57 ` Doug Anderson 2014-07-15 23:02 ` [PATCH 5/6] ARM: dts: rockchip: add core rk3288 dtsi Heiko Stübner ` (2 subsequent siblings) 6 siblings, 1 reply; 23+ messages in thread From: Heiko Stübner @ 2014-07-15 23:01 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Cc: olof-nZhT3qVonbNeoWH0uzbU5w, dianders-F7+t8E8rja9g9hUCZPvPmw, eddie.cai-TNX95d0MmH7DzftRWevZcw, devicetree-u79uwXL29TY76Z2rM5mHXA Enable HAVE_ARM_ARCH_TIMER and add a rockchip,rk3288 compatible. Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> --- arch/arm/mach-rockchip/Kconfig | 1 + arch/arm/mach-rockchip/rockchip.c | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index e4564c2..d168669 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -6,6 +6,7 @@ config ARCH_ROCKCHIP select ARCH_REQUIRE_GPIOLIB select ARM_GIC select CACHE_L2X0 + select HAVE_ARM_ARCH_TIMER select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select DW_APB_TIMER_OF diff --git a/arch/arm/mach-rockchip/rockchip.c b/arch/arm/mach-rockchip/rockchip.c index 968cc34..8ab9e0e 100644 --- a/arch/arm/mach-rockchip/rockchip.c +++ b/arch/arm/mach-rockchip/rockchip.c @@ -29,6 +29,7 @@ static const char * const rockchip_board_dt_compat[] = { "rockchip,rk3066a", "rockchip,rk3066b", "rockchip,rk3188", + "rockchip,rk3288", NULL, }; -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 4/6] ARM: rockchip: enable support for RK3288 SoCs 2014-07-15 23:01 ` [PATCH 4/6] ARM: rockchip: enable support for RK3288 SoCs Heiko Stübner @ 2014-07-16 19:57 ` Doug Anderson [not found] ` <CAD=FV=Vp2GqwEsLt5n5176ZRvDgNLSYFSUC6G+7pV6cuATuFTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 23+ messages in thread From: Doug Anderson @ 2014-07-16 19:57 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Olof Johansson, Eddie Cai, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Heiko, On Tue, Jul 15, 2014 at 4:01 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > Enable HAVE_ARM_ARCH_TIMER and add a rockchip,rk3288 compatible. > > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> > --- > arch/arm/mach-rockchip/Kconfig | 1 + > arch/arm/mach-rockchip/rockchip.c | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig > index e4564c2..d168669 100644 > --- a/arch/arm/mach-rockchip/Kconfig > +++ b/arch/arm/mach-rockchip/Kconfig > @@ -6,6 +6,7 @@ config ARCH_ROCKCHIP > select ARCH_REQUIRE_GPIOLIB > select ARM_GIC > select CACHE_L2X0 > + select HAVE_ARM_ARCH_TIMER Do we want to think about allowing someone to enable the A9-based Rockchip SoCs separately than the A12-based ones? I know it doesn't hurt to have the arch timer code present on A9 SoCs (it will figure things out at runtime), but people trying to build an A9-based system might not want the extra code? Anyway, I don't feel strongly about it, so: Reviewed-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> Tested-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <CAD=FV=Vp2GqwEsLt5n5176ZRvDgNLSYFSUC6G+7pV6cuATuFTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH 4/6] ARM: rockchip: enable support for RK3288 SoCs [not found] ` <CAD=FV=Vp2GqwEsLt5n5176ZRvDgNLSYFSUC6G+7pV6cuATuFTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2014-07-16 20:22 ` Heiko Stübner 2014-07-17 10:20 ` Will Deacon 1 sibling, 0 replies; 23+ messages in thread From: Heiko Stübner @ 2014-07-16 20:22 UTC (permalink / raw) To: Doug Anderson Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Olof Johansson, Eddie Cai, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Am Mittwoch, 16. Juli 2014, 12:57:21 schrieb Doug Anderson: > Heiko, > > On Tue, Jul 15, 2014 at 4:01 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > > Enable HAVE_ARM_ARCH_TIMER and add a rockchip,rk3288 compatible. > > > > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> > > --- > > > > arch/arm/mach-rockchip/Kconfig | 1 + > > arch/arm/mach-rockchip/rockchip.c | 1 + > > 2 files changed, 2 insertions(+) > > > > diff --git a/arch/arm/mach-rockchip/Kconfig > > b/arch/arm/mach-rockchip/Kconfig index e4564c2..d168669 100644 > > --- a/arch/arm/mach-rockchip/Kconfig > > +++ b/arch/arm/mach-rockchip/Kconfig > > @@ -6,6 +6,7 @@ config ARCH_ROCKCHIP > > > > select ARCH_REQUIRE_GPIOLIB > > select ARM_GIC > > select CACHE_L2X0 > > > > + select HAVE_ARM_ARCH_TIMER > > Do we want to think about allowing someone to enable the A9-based > Rockchip SoCs separately than the A12-based ones? I know it doesn't > hurt to have the arch timer code present on A9 SoCs (it will figure > things out at runtime), but people trying to build an A9-based system > might not want the extra code? > > Anyway, I don't feel strongly about it, so: I've also thought about this previously. Personally I would want to wait with introducing more complexity here until someone comes along with a use case. Simply because we're talking about 7kb (stripped) for the arch-timer and machines with >1GB of memory. So I'm not adverse to it, but I guess it will make more sense when more soc- specific code lands - suspend stuff for example. But I think we should be able to drop the dw_apb_timer altogether, as it stems from a time before I found the global-timer informations and all A9 SoCs should be able to use this one instead. > > Reviewed-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> > Tested-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/6] ARM: rockchip: enable support for RK3288 SoCs [not found] ` <CAD=FV=Vp2GqwEsLt5n5176ZRvDgNLSYFSUC6G+7pV6cuATuFTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-07-16 20:22 ` Heiko Stübner @ 2014-07-17 10:20 ` Will Deacon 1 sibling, 0 replies; 23+ messages in thread From: Will Deacon @ 2014-07-17 10:20 UTC (permalink / raw) To: Doug Anderson Cc: Heiko Stübner, Olof Johansson, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Eddie Cai, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org On Wed, Jul 16, 2014 at 08:57:21PM +0100, Doug Anderson wrote: > Heiko, > > On Tue, Jul 15, 2014 at 4:01 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > > Enable HAVE_ARM_ARCH_TIMER and add a rockchip,rk3288 compatible. > > > > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> > > --- > > arch/arm/mach-rockchip/Kconfig | 1 + > > arch/arm/mach-rockchip/rockchip.c | 1 + > > 2 files changed, 2 insertions(+) > > > > diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig > > index e4564c2..d168669 100644 > > --- a/arch/arm/mach-rockchip/Kconfig > > +++ b/arch/arm/mach-rockchip/Kconfig > > @@ -6,6 +6,7 @@ config ARCH_ROCKCHIP > > select ARCH_REQUIRE_GPIOLIB > > select ARM_GIC > > select CACHE_L2X0 > > + select HAVE_ARM_ARCH_TIMER > > Do we want to think about allowing someone to enable the A9-based > Rockchip SoCs separately than the A12-based ones? I know it doesn't > hurt to have the arch timer code present on A9 SoCs (it will figure > things out at runtime), but people trying to build an A9-based system > might not want the extra code? More likely, people using the A12-based system won't want the CACHE_L2X0 code (which adds an outer_cache.sync check to wmb()). Will -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 5/6] ARM: dts: rockchip: add core rk3288 dtsi 2014-07-15 22:58 [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Heiko Stübner ` (3 preceding siblings ...) 2014-07-15 23:01 ` [PATCH 4/6] ARM: rockchip: enable support for RK3288 SoCs Heiko Stübner @ 2014-07-15 23:02 ` Heiko Stübner 2014-07-16 0:02 ` Doug Anderson ` (2 more replies) 2014-07-15 23:02 ` [PATCH 6/6] ARM: dts: add rk3288 evaluation board Heiko Stübner 2014-07-17 10:18 ` [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Will Deacon 6 siblings, 3 replies; 23+ messages in thread From: Heiko Stübner @ 2014-07-15 23:02 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Cc: olof-nZhT3qVonbNeoWH0uzbU5w, dianders-F7+t8E8rja9g9hUCZPvPmw, eddie.cai-TNX95d0MmH7DzftRWevZcw, devicetree-u79uwXL29TY76Z2rM5mHXA Node definitions shared by all rk3288 based boards. Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> --- arch/arm/boot/dts/rk3288.dtsi | 561 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 561 insertions(+) create mode 100644 arch/arm/boot/dts/rk3288.dtsi diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi new file mode 100644 index 0000000..6e36cec --- /dev/null +++ b/arch/arm/boot/dts/rk3288.dtsi @@ -0,0 +1,561 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/pinctrl/rockchip.h> +#include <dt-bindings/clock/rk3288-cru.h> +#include "skeleton.dtsi" + +/ { + compatible = "rockchip,rk3288"; + + interrupt-parent = <&gic>; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a12"; + reg = <0x500>; + }; + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a12"; + reg = <0x501>; + }; + cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a12"; + reg = <0x502>; + }; + cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a12"; + reg = <0x503>; + }; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + ranges; + + xin24m: xin24m { + compatible = "fixed-clock"; + clock-frequency = <24000000>; + #clock-cells = <0>; + }; + + architected-timer { + compatible = "arm,armv7-timer"; + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; + clock-frequency = <24000000>; + }; + + gic: interrupt-controller@ffc01000 { + compatible = "arm,gic-400"; + interrupt-controller; + #interrupt-cells = <3>; + #address-cells = <0>; + + reg = <0xffc01000 0x1000>, + <0xffc02000 0x1000>, + <0xffc04000 0x2000>, + <0xffc06000 0x2000>; + interrupts = <GIC_PPI 9 0xf04>; + }; + + pmu: pmu@ff730000 { + compatible = "syscon"; + reg = <0xff730000 0x100>; + }; + + sgrf: syscon@ff740000 { + compatible = "syscon"; + reg = <0xff740000 0x1000>; + }; + + cru: cru@ff760000 { + compatible = "rockchip,rk3288-cru"; + reg = <0xff760000 0x1000>; + rockchip,grf = <&grf>; + + #clock-cells = <1>; + #reset-cells = <1>; + }; + + grf: syscon@ff770000 { + compatible = "syscon"; + reg = <0xff770000 0x1000>; + }; + + pinctrl: pinctrl@ff770000 { + compatible = "rockchip,rk3288-pinctrl"; + rockchip,grf = <&grf>; + rockchip,pmu = <&pmu>; + + #address-cells = <1>; + #size-cells = <1>; + ranges; + + gpio0: gpio0@ff750000 { + compatible = "rockchip,gpio-bank"; + reg = <0xff750000 0x100>; + interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_GPIO0>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio1: gpio1@ff780000 { + compatible = "rockchip,gpio-bank"; + reg = <0xff780000 0x100>; + interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_GPIO1>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio2: gpio2@ff790000 { + compatible = "rockchip,gpio-bank"; + reg = <0xff790000 0x100>; + interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_GPIO2>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio3: gpio3@ff7a0000 { + compatible = "rockchip,gpio-bank"; + reg = <0xff7a0000 0x100>; + interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_GPIO3>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio4: gpio4@ff7b0000 { + compatible = "rockchip,gpio-bank"; + reg = <0xff7b0000 0x100>; + interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_GPIO4>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio5: gpio5@ff7c0000 { + compatible = "rockchip,gpio-bank"; + reg = <0xff7c0000 0x100>; + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_GPIO5>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio6: gpio6@ff7d0000 { + compatible = "rockchip,gpio-bank"; + reg = <0xff7d0000 0x100>; + interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_GPIO6>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio7: gpio7@ff7e0000 { + compatible = "rockchip,gpio-bank"; + reg = <0xff7e0000 0x100>; + interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_GPIO7>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio8: gpio8@ff7f0000 { + compatible = "rockchip,gpio-bank"; + reg = <0xff7f0000 0x100>; + interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_GPIO8>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + pcfg_pull_up: pcfg_pull_up { + bias-pull-up; + }; + + pcfg_pull_down: pcfg_pull_down { + bias-pull-down; + }; + + pcfg_pull_none: pcfg_pull_none { + bias-disable; + }; + + i2c0 { + i2c0_xfer: i2c0-xfer { + rockchip,pins = <0 15 RK_FUNC_1 &pcfg_pull_none>, + <0 16 RK_FUNC_1 &pcfg_pull_none>; + }; + }; + + i2c1 { + i2c1_xfer: i2c1-xfer { + rockchip,pins = <8 4 RK_FUNC_1 &pcfg_pull_none>, + <8 5 RK_FUNC_1 &pcfg_pull_none>; + }; + }; + + i2c2 { + i2c2_xfer: i2c2-xfer { + rockchip,pins = <6 9 RK_FUNC_1 &pcfg_pull_none>, + <6 10 RK_FUNC_1 &pcfg_pull_none>; + }; + }; + + i2c3 { + i2c3_xfer: i2c3-xfer { + rockchip,pins = <2 16 RK_FUNC_1 &pcfg_pull_none>, + <2 17 RK_FUNC_1 &pcfg_pull_none>; + }; + }; + + i2c4 { + i2c4_xfer: i2c4-xfer { + rockchip,pins = <7 17 RK_FUNC_1 &pcfg_pull_none>, + <7 18 RK_FUNC_1 &pcfg_pull_none>; + }; + }; + + i2c5 { + i2c5_xfer: i2c5-xfer { + rockchip,pins = <7 19 RK_FUNC_1 &pcfg_pull_none>, + <7 20 RK_FUNC_1 &pcfg_pull_none>; + }; + }; + + sdmmc { + sdmmc_clk: sdmmc-clk { + rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none>; + }; + + sdmmc_cmd: sdmmc-cmd { + rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdmmc_cd: sdmcc-cd { + rockchip,pins = <6 22 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdmmc_bus1: sdmmc-bus1 { + rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdmmc_bus4: sdmmc-bus4 { + rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up>, + <6 17 RK_FUNC_1 &pcfg_pull_up>, + <6 18 RK_FUNC_1 &pcfg_pull_up>, + <6 19 RK_FUNC_1 &pcfg_pull_up>; + }; + }; + + emmc { + emmc_clk: emmc-clk { + rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none>; + }; + + emmc_cmd: emmc-cmd { + rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_up>; + }; + + emmc_pwr: emmc-pwr { + rockchip,pins = <3 9 RK_FUNC_2 &pcfg_pull_up>; + }; + + emmc_bus1: emmc-bus1 { + rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>; + }; + + emmc_bus4: emmc-bus4 { + rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>, + <3 1 RK_FUNC_2 &pcfg_pull_up>, + <3 2 RK_FUNC_2 &pcfg_pull_up>, + <3 3 RK_FUNC_2 &pcfg_pull_up>; + }; + + emmc_bus8: emmc-bus8 { + rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>, + <3 1 RK_FUNC_2 &pcfg_pull_up>, + <3 2 RK_FUNC_2 &pcfg_pull_up>, + <3 3 RK_FUNC_2 &pcfg_pull_up>, + <3 4 RK_FUNC_2 &pcfg_pull_up>, + <3 5 RK_FUNC_2 &pcfg_pull_up>, + <3 6 RK_FUNC_2 &pcfg_pull_up>, + <3 7 RK_FUNC_2 &pcfg_pull_up>; + }; + }; + + uart0 { + uart0_xfer: uart0-xfer { + rockchip,pins = <4 16 RK_FUNC_1 &pcfg_pull_up>, + <4 17 RK_FUNC_1 &pcfg_pull_none>; + }; + + uart0_cts: uart0-cts { + rockchip,pins = <4 18 RK_FUNC_1 &pcfg_pull_none>; + }; + + uart0_rts: uart0-rts { + rockchip,pins = <4 19 RK_FUNC_1 &pcfg_pull_none>; + }; + }; + + uart1 { + uart1_xfer: uart1-xfer { + rockchip,pins = <5 8 RK_FUNC_1 &pcfg_pull_up>, + <5 9 RK_FUNC_1 &pcfg_pull_none>; + }; + + uart1_cts: uart1-cts { + rockchip,pins = <5 10 RK_FUNC_1 &pcfg_pull_none>; + }; + + uart1_rts: uart1-rts { + rockchip,pins = <5 11 RK_FUNC_1 &pcfg_pull_none>; + }; + }; + + uart2 { + uart2_xfer: uart2-xfer { + rockchip,pins = <7 22 RK_FUNC_1 &pcfg_pull_up>, + <7 23 RK_FUNC_1 &pcfg_pull_none>; + }; + /* no rts / cts for uart2 */ + }; + + uart3 { + uart3_xfer: uart3-xfer { + rockchip,pins = <7 7 RK_FUNC_1 &pcfg_pull_up>, + <7 8 RK_FUNC_1 &pcfg_pull_none>; + }; + + uart3_cts: uart3-cts { + rockchip,pins = <7 9 RK_FUNC_1 &pcfg_pull_none>; + }; + + uart3_rts: uart3-rts { + rockchip,pins = <7 10 RK_FUNC_1 &pcfg_pull_none>; + }; + }; + + uart4 { + uart4_xfer: uart4-xfer { + rockchip,pins = <5 12 3 &pcfg_pull_up>, + <5 13 3 &pcfg_pull_none>; + }; + + uart4_cts: uart4-cts { + rockchip,pins = <5 14 3 &pcfg_pull_none>; + }; + + uart4_rts: uart4-rts { + rockchip,pins = <5 15 3 &pcfg_pull_none>; + }; + }; + }; + + i2c0: i2c@ff650000 { + compatible = "rockchip,rk3288-i2c"; + reg = <0xff650000 0x1000>; + interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; + #address-cells = <1>; + #size-cells = <0>; + + clock-names = "i2c"; + clocks = <&cru PCLK_I2C0>; + + status = "disabled"; + }; + + i2c1: i2c@ff140000 { + compatible = "rockchip,rk3288-i2c"; + reg = <0xff140000 0x1000>; + interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; + #address-cells = <1>; + #size-cells = <0>; + + clock-names = "i2c"; + clocks = <&cru PCLK_I2C1>; + + status = "disabled"; + }; + + i2c2: i2c@ff660000 { + compatible = "rockchip,rk3288-i2c"; + reg = <0xff660000 0x1000>; + interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; + #address-cells = <1>; + #size-cells = <0>; + + clock-names = "i2c"; + clocks = <&cru PCLK_I2C2>; + + status = "disabled"; + }; + + i2c3: i2c@ff150000 { + compatible = "rockchip,rk3288-i2c"; + reg = <0xff150000 0x1000>; + interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; + #address-cells = <1>; + #size-cells = <0>; + + clock-names = "i2c"; + clocks = <&cru PCLK_I2C3>; + + status = "disabled"; + }; + + i2c4: i2c@ff160000 { + compatible = "rockchip,rk3288-i2c"; + reg = <0xff160000 0x1000>; + interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; + #address-cells = <1>; + #size-cells = <0>; + + clock-names = "i2c"; + clocks = <&cru PCLK_I2C4>; + + status = "disabled"; + }; + + i2c5: i2c@ff170000 { + compatible = "rockchip,rk3288-i2c"; + reg = <0xff170000 0x1000>; + interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; + #address-cells = <1>; + #size-cells = <0>; + + clock-names = "i2c"; + clocks = <&cru PCLK_I2C5>; + + status = "disabled"; + }; + + watchdog@ff800000 { + compatible = "snps,dw-wdt"; + reg = <0xff800000 0x100>; + interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + uart0: serial@ff180000 { + compatible = "snps,dw-apb-uart"; + reg = <0xff180000 0x100>; + interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; + reg-shift = <2>; + reg-io-width = <4>; + clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; + clock-names = "baudclk", "apb_pclk"; + status = "disabled"; + }; + + uart1: serial@ff190000 { + compatible = "snps,dw-apb-uart"; + reg = <0xff190000 0x100>; + interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; + reg-shift = <2>; + reg-io-width = <4>; + clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; + clock-names = "baudclk", "apb_pclk"; + status = "disabled"; + }; + + uart2: serial@ff690000 { + compatible = "snps,dw-apb-uart"; + reg = <0xff690000 0x100>; + interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; + reg-shift = <2>; + reg-io-width = <4>; + clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; + clock-names = "baudclk", "apb_pclk"; + status = "disabled"; + pinctrl-names = "default"; + pinctrl-0 = <&uart2_xfer>; + }; + + uart3: serial@ff1b0000 { + compatible = "snps,dw-apb-uart"; + reg = <0xff1b0000 0x100>; + interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; + reg-shift = <2>; + reg-io-width = <4>; + clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; + clock-names = "baudclk", "apb_pclk"; + status = "disabled"; + }; + + uart4: serial@ff1c0000 { + compatible = "snps,dw-apb-uart"; + reg = <0xff1c0000 0x100>; + interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; + reg-shift = <2>; + reg-io-width = <4>; + clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; + clock-names = "baudclk", "apb_pclk"; + status = "disabled"; + }; + }; +}; -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 5/6] ARM: dts: rockchip: add core rk3288 dtsi 2014-07-15 23:02 ` [PATCH 5/6] ARM: dts: rockchip: add core rk3288 dtsi Heiko Stübner @ 2014-07-16 0:02 ` Doug Anderson 2014-07-16 0:55 ` Olof Johansson 2014-07-16 20:04 ` Doug Anderson 2 siblings, 0 replies; 23+ messages in thread From: Doug Anderson @ 2014-07-16 0:02 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Olof Johansson, Eddie Cai, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Heiko, On Tue, Jul 15, 2014 at 4:02 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > + soc { > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "simple-bus"; > + ranges; I haven't had time to do a full review, but I believe "soc" grouping is not suggested. See <http://patchwork.ozlabs.org/patch/323194/> -Doug -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/6] ARM: dts: rockchip: add core rk3288 dtsi 2014-07-15 23:02 ` [PATCH 5/6] ARM: dts: rockchip: add core rk3288 dtsi Heiko Stübner 2014-07-16 0:02 ` Doug Anderson @ 2014-07-16 0:55 ` Olof Johansson 2014-07-16 20:04 ` Doug Anderson 2 siblings, 0 replies; 23+ messages in thread From: Olof Johansson @ 2014-07-16 0:55 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, dianders-F7+t8E8rja9g9hUCZPvPmw, eddie.cai-TNX95d0MmH7DzftRWevZcw, devicetree-u79uwXL29TY76Z2rM5mHXA Hi, Bunch-o-nits below. On Wed, Jul 16, 2014 at 01:02:20AM +0200, Heiko Stübner wrote: > Node definitions shared by all rk3288 based boards. > > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> > --- > arch/arm/boot/dts/rk3288.dtsi | 561 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 561 insertions(+) > create mode 100644 arch/arm/boot/dts/rk3288.dtsi > > diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi > new file mode 100644 > index 0000000..6e36cec > --- /dev/null > +++ b/arch/arm/boot/dts/rk3288.dtsi > @@ -0,0 +1,561 @@ > +/* > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/interrupt-controller/irq.h> > +#include <dt-bindings/interrupt-controller/arm-gic.h> > +#include <dt-bindings/pinctrl/rockchip.h> > +#include <dt-bindings/clock/rk3288-cru.h> > +#include "skeleton.dtsi" > + > +/ { > + compatible = "rockchip,rk3288"; > + > + interrupt-parent = <&gic>; > + > + cpus { > + #address-cells = <1>; > + #size-cells = <0>; > + > + cpu@0 { Unit address and reg should be the same. So this should be @500 (or reg 0, but I don't think that's what you want). > + device_type = "cpu"; > + compatible = "arm,cortex-a12"; > + reg = <0x500>; > + }; > + cpu@1 { > + device_type = "cpu"; > + compatible = "arm,cortex-a12"; > + reg = <0x501>; > + }; > + cpu@2 { > + device_type = "cpu"; > + compatible = "arm,cortex-a12"; > + reg = <0x502>; > + }; > + cpu@3 { > + device_type = "cpu"; > + compatible = "arm,cortex-a12"; > + reg = <0x503>; > + }; > + }; > + > + soc { As Doug mentioned, this isn't how we tend to do it any more (unless all devices are physically on a bus, but then it should probably be named something else than 'soc'). > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "simple-bus"; > + ranges; > + > + xin24m: xin24m { > + compatible = "fixed-clock"; > + clock-frequency = <24000000>; > + #clock-cells = <0>; > + }; > + > + architected-timer { Most other platforms just call this "timer". > + compatible = "arm,armv7-timer"; > + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, > + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, > + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, > + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; > + clock-frequency = <24000000>; > + }; > + > + gic: interrupt-controller@ffc01000 { > + compatible = "arm,gic-400"; > + interrupt-controller; > + #interrupt-cells = <3>; > + #address-cells = <0>; > + > + reg = <0xffc01000 0x1000>, > + <0xffc02000 0x1000>, > + <0xffc04000 0x2000>, > + <0xffc06000 0x2000>; > + interrupts = <GIC_PPI 9 0xf04>; > + }; > + > + pmu: pmu@ff730000 { > + compatible = "syscon"; > + reg = <0xff730000 0x100>; > + }; You should consider sorting entries based on address. That way, as you add new entries over time, you'll have fewer conflicts than if they're all appended instead. > + > + sgrf: syscon@ff740000 { > + compatible = "syscon"; > + reg = <0xff740000 0x1000>; > + }; > + > + cru: cru@ff760000 { "cru"? The node name is usually something labelling the type of device ("clock-controller")? > + compatible = "rockchip,rk3288-cru"; > + reg = <0xff760000 0x1000>; > + rockchip,grf = <&grf>; > + > + #clock-cells = <1>; > + #reset-cells = <1>; > + }; > + > + grf: syscon@ff770000 { > + compatible = "syscon"; This should probably have a more precise compatible than _just_ syscon. > + reg = <0xff770000 0x1000>; > + }; > + > + pinctrl: pinctrl@ff770000 { If the node doesn't have a reg entry then it shouldn't have a unit address. > + compatible = "rockchip,rk3288-pinctrl"; > + rockchip,grf = <&grf>; > + rockchip,pmu = <&pmu>; > + > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + gpio0: gpio0@ff750000 { > + compatible = "rockchip,gpio-bank"; > + reg = <0xff750000 0x100>; > + interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_GPIO0>; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + gpio1: gpio1@ff780000 { > + compatible = "rockchip,gpio-bank"; > + reg = <0xff780000 0x100>; > + interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_GPIO1>; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + gpio2: gpio2@ff790000 { > + compatible = "rockchip,gpio-bank"; > + reg = <0xff790000 0x100>; > + interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_GPIO2>; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + gpio3: gpio3@ff7a0000 { > + compatible = "rockchip,gpio-bank"; > + reg = <0xff7a0000 0x100>; > + interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_GPIO3>; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + gpio4: gpio4@ff7b0000 { > + compatible = "rockchip,gpio-bank"; > + reg = <0xff7b0000 0x100>; > + interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_GPIO4>; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + gpio5: gpio5@ff7c0000 { > + compatible = "rockchip,gpio-bank"; > + reg = <0xff7c0000 0x100>; > + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_GPIO5>; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + gpio6: gpio6@ff7d0000 { > + compatible = "rockchip,gpio-bank"; > + reg = <0xff7d0000 0x100>; > + interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_GPIO6>; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + gpio7: gpio7@ff7e0000 { > + compatible = "rockchip,gpio-bank"; > + reg = <0xff7e0000 0x100>; > + interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_GPIO7>; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + gpio8: gpio8@ff7f0000 { > + compatible = "rockchip,gpio-bank"; > + reg = <0xff7f0000 0x100>; > + interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_GPIO8>; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + pcfg_pull_up: pcfg_pull_up { > + bias-pull-up; > + }; > + > + pcfg_pull_down: pcfg_pull_down { > + bias-pull-down; > + }; > + > + pcfg_pull_none: pcfg_pull_none { > + bias-disable; > + }; > + > + i2c0 { > + i2c0_xfer: i2c0-xfer { > + rockchip,pins = <0 15 RK_FUNC_1 &pcfg_pull_none>, > + <0 16 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + i2c1 { > + i2c1_xfer: i2c1-xfer { > + rockchip,pins = <8 4 RK_FUNC_1 &pcfg_pull_none>, > + <8 5 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + i2c2 { > + i2c2_xfer: i2c2-xfer { > + rockchip,pins = <6 9 RK_FUNC_1 &pcfg_pull_none>, > + <6 10 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + i2c3 { > + i2c3_xfer: i2c3-xfer { > + rockchip,pins = <2 16 RK_FUNC_1 &pcfg_pull_none>, > + <2 17 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + i2c4 { > + i2c4_xfer: i2c4-xfer { > + rockchip,pins = <7 17 RK_FUNC_1 &pcfg_pull_none>, > + <7 18 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + i2c5 { > + i2c5_xfer: i2c5-xfer { > + rockchip,pins = <7 19 RK_FUNC_1 &pcfg_pull_none>, > + <7 20 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + sdmmc { > + sdmmc_clk: sdmmc-clk { > + rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none>; > + }; > + > + sdmmc_cmd: sdmmc-cmd { > + rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up>; > + }; > + > + sdmmc_cd: sdmcc-cd { > + rockchip,pins = <6 22 RK_FUNC_1 &pcfg_pull_up>; > + }; > + > + sdmmc_bus1: sdmmc-bus1 { > + rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up>; > + }; > + > + sdmmc_bus4: sdmmc-bus4 { > + rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up>, > + <6 17 RK_FUNC_1 &pcfg_pull_up>, > + <6 18 RK_FUNC_1 &pcfg_pull_up>, > + <6 19 RK_FUNC_1 &pcfg_pull_up>; > + }; > + }; > + > + emmc { > + emmc_clk: emmc-clk { > + rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none>; > + }; > + > + emmc_cmd: emmc-cmd { > + rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_up>; > + }; > + > + emmc_pwr: emmc-pwr { > + rockchip,pins = <3 9 RK_FUNC_2 &pcfg_pull_up>; > + }; > + > + emmc_bus1: emmc-bus1 { > + rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>; > + }; > + > + emmc_bus4: emmc-bus4 { > + rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>, > + <3 1 RK_FUNC_2 &pcfg_pull_up>, > + <3 2 RK_FUNC_2 &pcfg_pull_up>, > + <3 3 RK_FUNC_2 &pcfg_pull_up>; > + }; > + > + emmc_bus8: emmc-bus8 { > + rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>, > + <3 1 RK_FUNC_2 &pcfg_pull_up>, > + <3 2 RK_FUNC_2 &pcfg_pull_up>, > + <3 3 RK_FUNC_2 &pcfg_pull_up>, > + <3 4 RK_FUNC_2 &pcfg_pull_up>, > + <3 5 RK_FUNC_2 &pcfg_pull_up>, > + <3 6 RK_FUNC_2 &pcfg_pull_up>, > + <3 7 RK_FUNC_2 &pcfg_pull_up>; > + }; > + }; > + > + uart0 { > + uart0_xfer: uart0-xfer { > + rockchip,pins = <4 16 RK_FUNC_1 &pcfg_pull_up>, > + <4 17 RK_FUNC_1 &pcfg_pull_none>; > + }; > + > + uart0_cts: uart0-cts { > + rockchip,pins = <4 18 RK_FUNC_1 &pcfg_pull_none>; > + }; > + > + uart0_rts: uart0-rts { > + rockchip,pins = <4 19 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + uart1 { > + uart1_xfer: uart1-xfer { > + rockchip,pins = <5 8 RK_FUNC_1 &pcfg_pull_up>, > + <5 9 RK_FUNC_1 &pcfg_pull_none>; > + }; > + > + uart1_cts: uart1-cts { > + rockchip,pins = <5 10 RK_FUNC_1 &pcfg_pull_none>; > + }; > + > + uart1_rts: uart1-rts { > + rockchip,pins = <5 11 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + uart2 { > + uart2_xfer: uart2-xfer { > + rockchip,pins = <7 22 RK_FUNC_1 &pcfg_pull_up>, > + <7 23 RK_FUNC_1 &pcfg_pull_none>; > + }; > + /* no rts / cts for uart2 */ > + }; > + > + uart3 { > + uart3_xfer: uart3-xfer { > + rockchip,pins = <7 7 RK_FUNC_1 &pcfg_pull_up>, > + <7 8 RK_FUNC_1 &pcfg_pull_none>; > + }; > + > + uart3_cts: uart3-cts { > + rockchip,pins = <7 9 RK_FUNC_1 &pcfg_pull_none>; > + }; > + > + uart3_rts: uart3-rts { > + rockchip,pins = <7 10 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + uart4 { > + uart4_xfer: uart4-xfer { > + rockchip,pins = <5 12 3 &pcfg_pull_up>, > + <5 13 3 &pcfg_pull_none>; > + }; > + > + uart4_cts: uart4-cts { > + rockchip,pins = <5 14 3 &pcfg_pull_none>; > + }; > + > + uart4_rts: uart4-rts { > + rockchip,pins = <5 15 3 &pcfg_pull_none>; > + }; > + }; > + }; > + > + i2c0: i2c@ff650000 { > + compatible = "rockchip,rk3288-i2c"; > + reg = <0xff650000 0x1000>; > + interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + clock-names = "i2c"; > + clocks = <&cru PCLK_I2C0>; > + > + status = "disabled"; > + }; > + > + i2c1: i2c@ff140000 { > + compatible = "rockchip,rk3288-i2c"; > + reg = <0xff140000 0x1000>; > + interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + clock-names = "i2c"; > + clocks = <&cru PCLK_I2C1>; > + > + status = "disabled"; > + }; > + > + i2c2: i2c@ff660000 { > + compatible = "rockchip,rk3288-i2c"; > + reg = <0xff660000 0x1000>; > + interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + clock-names = "i2c"; > + clocks = <&cru PCLK_I2C2>; > + > + status = "disabled"; > + }; > + > + i2c3: i2c@ff150000 { > + compatible = "rockchip,rk3288-i2c"; > + reg = <0xff150000 0x1000>; > + interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + clock-names = "i2c"; > + clocks = <&cru PCLK_I2C3>; > + > + status = "disabled"; > + }; > + > + i2c4: i2c@ff160000 { > + compatible = "rockchip,rk3288-i2c"; > + reg = <0xff160000 0x1000>; > + interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + clock-names = "i2c"; > + clocks = <&cru PCLK_I2C4>; > + > + status = "disabled"; > + }; > + > + i2c5: i2c@ff170000 { > + compatible = "rockchip,rk3288-i2c"; > + reg = <0xff170000 0x1000>; > + interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + clock-names = "i2c"; > + clocks = <&cru PCLK_I2C5>; > + > + status = "disabled"; > + }; > + > + watchdog@ff800000 { > + compatible = "snps,dw-wdt"; Same here, you might want a more specific compatible as the higher-priority one. > + reg = <0xff800000 0x100>; > + interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; > + status = "disabled"; > + }; > + > + uart0: serial@ff180000 { > + compatible = "snps,dw-apb-uart"; And again w.r.t compatible (I'll stop pointing them out now). > + reg = <0xff180000 0x100>; > + interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; > + reg-shift = <2>; > + reg-io-width = <4>; > + clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; > + clock-names = "baudclk", "apb_pclk"; > + status = "disabled"; > + }; > + > + uart1: serial@ff190000 { > + compatible = "snps,dw-apb-uart"; > + reg = <0xff190000 0x100>; > + interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; > + reg-shift = <2>; > + reg-io-width = <4>; > + clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; > + clock-names = "baudclk", "apb_pclk"; > + status = "disabled"; > + }; > + > + uart2: serial@ff690000 { > + compatible = "snps,dw-apb-uart"; > + reg = <0xff690000 0x100>; > + interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; > + reg-shift = <2>; > + reg-io-width = <4>; > + clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; > + clock-names = "baudclk", "apb_pclk"; > + status = "disabled"; > + pinctrl-names = "default"; > + pinctrl-0 = <&uart2_xfer>; > + }; > + > + uart3: serial@ff1b0000 { > + compatible = "snps,dw-apb-uart"; > + reg = <0xff1b0000 0x100>; > + interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; > + reg-shift = <2>; > + reg-io-width = <4>; > + clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; > + clock-names = "baudclk", "apb_pclk"; > + status = "disabled"; > + }; > + > + uart4: serial@ff1c0000 { > + compatible = "snps,dw-apb-uart"; > + reg = <0xff1c0000 0x100>; > + interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; > + reg-shift = <2>; > + reg-io-width = <4>; > + clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; > + clock-names = "baudclk", "apb_pclk"; > + status = "disabled"; > + }; > + }; > +}; > -- > 1.9.0 > > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/6] ARM: dts: rockchip: add core rk3288 dtsi 2014-07-15 23:02 ` [PATCH 5/6] ARM: dts: rockchip: add core rk3288 dtsi Heiko Stübner 2014-07-16 0:02 ` Doug Anderson 2014-07-16 0:55 ` Olof Johansson @ 2014-07-16 20:04 ` Doug Anderson 2 siblings, 0 replies; 23+ messages in thread From: Doug Anderson @ 2014-07-16 20:04 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Olof Johansson, Eddie Cai, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Heiko, On Tue, Jul 15, 2014 at 4:02 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > + i2c0 { > + i2c0_xfer: i2c0-xfer { > + rockchip,pins = <0 15 RK_FUNC_1 &pcfg_pull_none>, > + <0 16 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + i2c1 { > + i2c1_xfer: i2c1-xfer { > + rockchip,pins = <8 4 RK_FUNC_1 &pcfg_pull_none>, > + <8 5 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + i2c2 { > + i2c2_xfer: i2c2-xfer { > + rockchip,pins = <6 9 RK_FUNC_1 &pcfg_pull_none>, > + <6 10 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + i2c3 { > + i2c3_xfer: i2c3-xfer { > + rockchip,pins = <2 16 RK_FUNC_1 &pcfg_pull_none>, > + <2 17 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + i2c4 { > + i2c4_xfer: i2c4-xfer { > + rockchip,pins = <7 17 RK_FUNC_1 &pcfg_pull_none>, > + <7 18 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; > + > + i2c5 { > + i2c5_xfer: i2c5-xfer { > + rockchip,pins = <7 19 RK_FUNC_1 &pcfg_pull_none>, > + <7 20 RK_FUNC_1 &pcfg_pull_none>; > + }; > + }; Since there's a strong concept of numbering of i2c busses on this SoC, could you add aliases so that they show up nicely with the right ID? Thanks! -Doug -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 6/6] ARM: dts: add rk3288 evaluation board 2014-07-15 22:58 [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Heiko Stübner ` (4 preceding siblings ...) 2014-07-15 23:02 ` [PATCH 5/6] ARM: dts: rockchip: add core rk3288 dtsi Heiko Stübner @ 2014-07-15 23:02 ` Heiko Stübner 2014-07-16 1:00 ` Olof Johansson 2014-07-16 20:02 ` Doug Anderson 2014-07-17 10:18 ` [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Will Deacon 6 siblings, 2 replies; 23+ messages in thread From: Heiko Stübner @ 2014-07-15 23:02 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Cc: olof-nZhT3qVonbNeoWH0uzbU5w, dianders-F7+t8E8rja9g9hUCZPvPmw, eddie.cai-TNX95d0MmH7DzftRWevZcw, devicetree-u79uwXL29TY76Z2rM5mHXA There exist 2 variants using either the act8846 or rk808 as pmic, while the rest of the board stays the same. Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> --- arch/arm/boot/dts/rk3288-evb-act8846.dts | 136 +++++++++++++++++++++++++++++++ arch/arm/boot/dts/rk3288-evb-rk808.dts | 19 +++++ arch/arm/boot/dts/rk3288-evb.dtsi | 77 +++++++++++++++++ 3 files changed, 232 insertions(+) create mode 100644 arch/arm/boot/dts/rk3288-evb-act8846.dts create mode 100644 arch/arm/boot/dts/rk3288-evb-rk808.dts create mode 100644 arch/arm/boot/dts/rk3288-evb.dtsi diff --git a/arch/arm/boot/dts/rk3288-evb-act8846.dts b/arch/arm/boot/dts/rk3288-evb-act8846.dts new file mode 100644 index 0000000..9b1ef03 --- /dev/null +++ b/arch/arm/boot/dts/rk3288-evb-act8846.dts @@ -0,0 +1,136 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/dts-v1/; +#include "rk3288-evb.dtsi" + +/ { + compatible = "rockchip,rk3288-evb-act8846", "rockchip,rk3288"; +}; + +&i2c0 { + hym8563@51 { + compatible = "haoyu,hym8563"; + reg = <0x51>; + + interrupt-parent = <&gpio0>; + interrupts = <4 IRQ_TYPE_EDGE_FALLING>; + + pinctrl-names = "default"; + pinctrl-0 = <&hym8563_int>; + + #clock-cells = <0>; + clock-output-names = "xin32k"; + }; + + act8846: act8846@5a { + compatible = "active-semi,act8846"; + reg = <0x5a>; + status = "okay"; + }; +}; + +&act8846 { + regulators { + vcc_ddr: REG1 { + regulator-name = "VCC_DDR"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + }; + + vcc_io: REG2 { + regulator-name = "VCC_IO"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vdd_log: REG3 { + regulator-name = "VDD_LOG"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + vcc_20: REG4 { + regulator-name = "VCC_20"; + regulator-min-microvolt = <2000000>; + regulator-max-microvolt = <2000000>; + regulator-always-on; + }; + + vccio_sd: REG5 { + regulator-name = "VCCIO_SD"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vdd10_lcd: REG6 { + regulator-name = "VDD10_LCD"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + vcca_codec: REG7 { + regulator-name = "VCCA_CODEC"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vcca_tp: REG8 { + regulator-name = "VCCA_TP"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vccio_pmu: REG9 { + regulator-name = "VCCIO_PMU"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vdd_10: REG10 { + regulator-name = "VDD_10"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + vcc_18: REG11 { + regulator-name = "VCC_18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + vcc18_lcd: REG12 { + regulator-name = "VCC18_LCD"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + }; +}; + +&pinctrl { + hym8563 { + hym8563_int: hym8563-int { + rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; +}; diff --git a/arch/arm/boot/dts/rk3288-evb-rk808.dts b/arch/arm/boot/dts/rk3288-evb-rk808.dts new file mode 100644 index 0000000..c168cb2 --- /dev/null +++ b/arch/arm/boot/dts/rk3288-evb-rk808.dts @@ -0,0 +1,19 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/dts-v1/; +#include "rk3288-evb.dtsi" + +/ { + compatible = "rockchip,rk3288-evb-rk808", "rockchip,rk3288"; + +}; diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi new file mode 100644 index 0000000..ff642d4 --- /dev/null +++ b/arch/arm/boot/dts/rk3288-evb.dtsi @@ -0,0 +1,77 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "rk3288.dtsi" + +/ { + aliases { + serial0 = &uart0; + serial1 = &uart1; + serial2 = &uart2; + serial3 = &uart3; + serial4 = &uart4; + }; + + memory { + reg = <0x0 0x80000000>; + }; + + soc { + gpio-keys { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + autorepeat; + + button@0 { + gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; + linux,code = <116>; + label = "GPIO Key Power"; + linux,input-type = <1>; + gpio-key,wakeup = <1>; + debounce-interval = <100>; + }; + }; + + i2c0: i2c@ff650000 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_xfer>; + status = "okay"; + }; + + watchdog@ff800000 { + status = "okay"; + }; + + serial@ff180000 { + status = "okay"; + }; + + serial@ff190000 { + status = "okay"; + }; + + uart2: serial@ff690000 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_xfer>; + status = "okay"; + }; + + uart3: serial@ff1b0000 { + status = "okay"; + }; + + uart4: serial@ff1c0000 { + status = "okay"; + }; + }; +}; -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] ARM: dts: add rk3288 evaluation board 2014-07-15 23:02 ` [PATCH 6/6] ARM: dts: add rk3288 evaluation board Heiko Stübner @ 2014-07-16 1:00 ` Olof Johansson 2014-07-16 20:02 ` Doug Anderson 1 sibling, 0 replies; 23+ messages in thread From: Olof Johansson @ 2014-07-16 1:00 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, dianders-F7+t8E8rja9g9hUCZPvPmw, eddie.cai-TNX95d0MmH7DzftRWevZcw, devicetree-u79uwXL29TY76Z2rM5mHXA Hi, This mostly looks good, with a couple of comments below. On Wed, Jul 16, 2014 at 01:02:58AM +0200, Heiko Stübner wrote: > +&i2c0 { > + hym8563@51 { > + compatible = "haoyu,hym8563"; > + reg = <0x51>; > + > + interrupt-parent = <&gpio0>; > + interrupts = <4 IRQ_TYPE_EDGE_FALLING>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&hym8563_int>; > + > + #clock-cells = <0>; > + clock-output-names = "xin32k"; > + }; > + > + act8846: act8846@5a { > + compatible = "active-semi,act8846"; > + reg = <0x5a>; > + status = "okay"; > + }; > +}; > + > +&act8846 { This is slightly odd since you're defining the node just above, you could just add the regulators right there. > + regulators { > + vcc_ddr: REG1 { > + regulator-name = "VCC_DDR"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-always-on; > + }; > + > + vcc_io: REG2 { > + regulator-name = "VCC_IO"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + vdd_log: REG3 { > + regulator-name = "VDD_LOG"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-always-on; > + }; > + > + vcc_20: REG4 { > + regulator-name = "VCC_20"; > + regulator-min-microvolt = <2000000>; > + regulator-max-microvolt = <2000000>; > + regulator-always-on; > + }; > + > + vccio_sd: REG5 { > + regulator-name = "VCCIO_SD"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + vdd10_lcd: REG6 { > + regulator-name = "VDD10_LCD"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-always-on; > + }; > + > + vcca_codec: REG7 { > + regulator-name = "VCCA_CODEC"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + vcca_tp: REG8 { > + regulator-name = "VCCA_TP"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + vccio_pmu: REG9 { > + regulator-name = "VCCIO_PMU"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + vdd_10: REG10 { > + regulator-name = "VDD_10"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-always-on; > + }; > + > + vcc_18: REG11 { > + regulator-name = "VCC_18"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + }; > + > + vcc18_lcd: REG12 { > + regulator-name = "VCC18_LCD"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + }; > + }; > +}; > + > +&pinctrl { > + hym8563 { > + hym8563_int: hym8563-int { > + rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; > + }; > + }; > +}; > diff --git a/arch/arm/boot/dts/rk3288-evb-rk808.dts b/arch/arm/boot/dts/rk3288-evb-rk808.dts > new file mode 100644 > index 0000000..c168cb2 > --- /dev/null > +++ b/arch/arm/boot/dts/rk3288-evb-rk808.dts > @@ -0,0 +1,19 @@ > +/* > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +/dts-v1/; > +#include "rk3288-evb.dtsi" > + > +/ { > + compatible = "rockchip,rk3288-evb-rk808", "rockchip,rk3288"; > + > +}; No rk808 node? Or adding that once the driver is sorted out? > diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi > new file mode 100644 > index 0000000..ff642d4 > --- /dev/null > +++ b/arch/arm/boot/dts/rk3288-evb.dtsi > @@ -0,0 +1,77 @@ > +/* > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +#include "rk3288.dtsi" > + > +/ { > + aliases { > + serial0 = &uart0; > + serial1 = &uart1; > + serial2 = &uart2; > + serial3 = &uart3; > + serial4 = &uart4; > + }; > + > + memory { > + reg = <0x0 0x80000000>; > + }; > + > + soc { > + gpio-keys { I'd recommend doing all of these with &-references instead to avoid having to revisit this if/when the tree topography changes w.r.t. the 'soc' node. Also, the gpio-keys should be on the top level. > + compatible = "gpio-keys"; > + #address-cells = <1>; > + #size-cells = <0>; > + autorepeat; > + > + button@0 { > + gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; > + linux,code = <116>; > + label = "GPIO Key Power"; > + linux,input-type = <1>; > + gpio-key,wakeup = <1>; > + debounce-interval = <100>; > + }; > + }; > + > + i2c0: i2c@ff650000 { > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c0_xfer>; > + status = "okay"; > + }; > + > + watchdog@ff800000 { > + status = "okay"; > + }; > + > + serial@ff180000 { > + status = "okay"; > + }; > + > + serial@ff190000 { > + status = "okay"; > + }; > + > + uart2: serial@ff690000 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart2_xfer>; > + status = "okay"; > + }; > + > + uart3: serial@ff1b0000 { > + status = "okay"; > + }; > + > + uart4: serial@ff1c0000 { > + status = "okay"; > + }; > + }; > +}; -Olof -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] ARM: dts: add rk3288 evaluation board 2014-07-15 23:02 ` [PATCH 6/6] ARM: dts: add rk3288 evaluation board Heiko Stübner 2014-07-16 1:00 ` Olof Johansson @ 2014-07-16 20:02 ` Doug Anderson [not found] ` <CAD=FV=Vo-J2cmyUZfD6KUdvw=5iaCgANsSvaSKfuJRWz1DCCeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 1 sibling, 1 reply; 23+ messages in thread From: Doug Anderson @ 2014-07-16 20:02 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Olof Johansson, Eddie Cai, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Heiko, On Tue, Jul 15, 2014 at 4:02 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > diff --git a/arch/arm/boot/dts/rk3288-evb-rk808.dts b/arch/arm/boot/dts/rk3288-evb-rk808.dts > new file mode 100644 > index 0000000..c168cb2 > --- /dev/null > +++ b/arch/arm/boot/dts/rk3288-evb-rk808.dts > @@ -0,0 +1,19 @@ > +/* > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +/dts-v1/; > +#include "rk3288-evb.dtsi" > + > +/ { > + compatible = "rockchip,rk3288-evb-rk808", "rockchip,rk3288"; > + nit: remove extra blank line? > +}; > diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi > new file mode 100644 > index 0000000..ff642d4 > --- /dev/null > +++ b/arch/arm/boot/dts/rk3288-evb.dtsi > @@ -0,0 +1,77 @@ > +/* > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +#include "rk3288.dtsi" > + > +/ { > + aliases { > + serial0 = &uart0; > + serial1 = &uart1; > + serial2 = &uart2; > + serial3 = &uart3; > + serial4 = &uart4; Can the aliases go in the main dtsi? > + }; > + > + memory { > + reg = <0x0 0x80000000>; > + }; > + > + soc { > + gpio-keys { > + compatible = "gpio-keys"; > + #address-cells = <1>; > + #size-cells = <0>; > + autorepeat; I would have expected pinctrl for gpio0-5 to make sure pulls are enabled / disabled as appropriate. > + > + button@0 { > + gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; > + linux,code = <116>; > + label = "GPIO Key Power"; > + linux,input-type = <1>; > + gpio-key,wakeup = <1>; > + debounce-interval = <100>; > + }; > + }; > + > + i2c0: i2c@ff650000 { > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c0_xfer>; > + status = "okay"; > + }; > + > + watchdog@ff800000 { > + status = "okay"; > + }; > + > + serial@ff180000 { > + status = "okay"; > + }; > + > + serial@ff190000 { > + status = "okay"; > + }; > + > + uart2: serial@ff690000 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart2_xfer>; Why is this pinctrl here? > + status = "okay"; > + }; -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <CAD=FV=Vo-J2cmyUZfD6KUdvw=5iaCgANsSvaSKfuJRWz1DCCeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH 6/6] ARM: dts: add rk3288 evaluation board [not found] ` <CAD=FV=Vo-J2cmyUZfD6KUdvw=5iaCgANsSvaSKfuJRWz1DCCeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2014-07-16 21:22 ` Heiko Stübner 0 siblings, 0 replies; 23+ messages in thread From: Heiko Stübner @ 2014-07-16 21:22 UTC (permalink / raw) To: Doug Anderson Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Olof Johansson, Eddie Cai, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Am Mittwoch, 16. Juli 2014, 13:02:53 schrieb Doug Anderson: > Heiko, > > On Tue, Jul 15, 2014 at 4:02 PM, Heiko Stübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> wrote: > > diff --git a/arch/arm/boot/dts/rk3288-evb-rk808.dts > > b/arch/arm/boot/dts/rk3288-evb-rk808.dts new file mode 100644 > > index 0000000..c168cb2 > > --- /dev/null > > +++ b/arch/arm/boot/dts/rk3288-evb-rk808.dts > > @@ -0,0 +1,19 @@ > > +/* > > + * This program is free software; you can redistribute it and/or modify > > + * it under the terms of the GNU General Public License as published by > > + * the Free Software Foundation; either version 2 of the License, or > > + * (at your option) any later version. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > + */ > > + > > +/dts-v1/; > > +#include "rk3288-evb.dtsi" > > + > > +/ { > > + compatible = "rockchip,rk3288-evb-rk808", "rockchip,rk3288"; > > + > > nit: remove extra blank line? > > > +}; > > diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi > > b/arch/arm/boot/dts/rk3288-evb.dtsi new file mode 100644 > > index 0000000..ff642d4 > > --- /dev/null > > +++ b/arch/arm/boot/dts/rk3288-evb.dtsi > > @@ -0,0 +1,77 @@ > > +/* > > + * This program is free software; you can redistribute it and/or modify > > + * it under the terms of the GNU General Public License as published by > > + * the Free Software Foundation; either version 2 of the License, or > > + * (at your option) any later version. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > + */ > > + > > +#include "rk3288.dtsi" > > + > > +/ { > > + aliases { > > + serial0 = &uart0; > > + serial1 = &uart1; > > + serial2 = &uart2; > > + serial3 = &uart3; > > + serial4 = &uart4; > > Can the aliases go in the main dtsi? > > > + }; > > + > > + memory { > > + reg = <0x0 0x80000000>; > > + }; > > + > > + soc { > > + gpio-keys { > > + compatible = "gpio-keys"; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + autorepeat; > > I would have expected pinctrl for gpio0-5 to make sure pulls are > enabled / disabled as appropriate. > > > + > > + button@0 { > > + gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; > > + linux,code = <116>; > > + label = "GPIO Key Power"; > > + linux,input-type = <1>; > > + gpio-key,wakeup = <1>; > > + debounce-interval = <100>; > > + }; > > + }; > > + > > + i2c0: i2c@ff650000 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&i2c0_xfer>; > > + status = "okay"; > > + }; > > + > > + watchdog@ff800000 { > > + status = "okay"; > > + }; > > + > > + serial@ff180000 { > > + status = "okay"; > > + }; > > + > > + serial@ff190000 { > > + status = "okay"; > > + }; > > + > > + uart2: serial@ff690000 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart2_xfer>; > > Why is this pinctrl here? The other uarts also have rts/cts pins available, but optional it seems. So my idea was to let the boards decide which pins to use, instead of setting it in the soc-dtsi. Other opinions? :-) > > > + status = "okay"; > > + }; -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 0/6] ARM: rockchip: add initial support for rk3288 2014-07-15 22:58 [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Heiko Stübner ` (5 preceding siblings ...) 2014-07-15 23:02 ` [PATCH 6/6] ARM: dts: add rk3288 evaluation board Heiko Stübner @ 2014-07-17 10:18 ` Will Deacon 6 siblings, 0 replies; 23+ messages in thread From: Will Deacon @ 2014-07-17 10:18 UTC (permalink / raw) To: Heiko Stübner Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, eddie.cai-TNX95d0MmH7DzftRWevZcw@public.gmane.org, dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org On Tue, Jul 15, 2014 at 11:58:00PM +0100, Heiko Stübner wrote: > This series adds the initial support for Rockchip rk3288 socs including > debug uart and devicetree files for the rk3288 evaluation board and > enables these boards to boot into an initramfs. > > The series depends on an updated bootloader, which must start the timer > supplying the architected timer, which we will hopefully get in the next > days. It also depends on the patch > "irqchip: gic: Add binding probe for ARM GIC400" > which will hopefully make it into the irqchip tree shortly. > > > Heiko Stuebner (6): > dt-bindings: arm: add arm,cortex-a12 cpu compatible property > ARM: rockchip: add debug uart used by rk3288 > ARM: Kconfig: set default gpio number for rockchip SoCs > ARM: rockchip: enable support for RK3288 SoCs > ARM: dts: rockchip: add core rk3288 dtsi > ARM: dts: add rk3288 evaluation board For the series: Tested-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> Cheers Heiko! Will -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2014-07-17 10:20 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-07-15 22:58 [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Heiko Stübner 2014-07-15 22:59 ` [PATCH 1/6] dt-bindings: arm: add arm,cortex-a12 cpu compatible property Heiko Stübner 2014-07-16 0:56 ` Olof Johansson 2014-07-16 9:03 ` Mark Rutland 2014-07-15 23:00 ` [PATCH 2/6] ARM: rockchip: add debug uart used by rk3288 Heiko Stübner 2014-07-16 4:13 ` Doug Anderson [not found] ` <CAD=FV=W3aWeT3RP5_g9r8kV8ToeHfyn57JY-py2zGVW9DF_7RQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-07-16 9:11 ` Heiko Stübner 2014-07-16 15:09 ` Doug Anderson 2014-07-15 23:01 ` [PATCH 3/6] ARM: Kconfig: set default gpio number for rockchip SoCs Heiko Stübner 2014-07-16 4:41 ` Doug Anderson 2014-07-15 23:01 ` [PATCH 4/6] ARM: rockchip: enable support for RK3288 SoCs Heiko Stübner 2014-07-16 19:57 ` Doug Anderson [not found] ` <CAD=FV=Vp2GqwEsLt5n5176ZRvDgNLSYFSUC6G+7pV6cuATuFTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-07-16 20:22 ` Heiko Stübner 2014-07-17 10:20 ` Will Deacon 2014-07-15 23:02 ` [PATCH 5/6] ARM: dts: rockchip: add core rk3288 dtsi Heiko Stübner 2014-07-16 0:02 ` Doug Anderson 2014-07-16 0:55 ` Olof Johansson 2014-07-16 20:04 ` Doug Anderson 2014-07-15 23:02 ` [PATCH 6/6] ARM: dts: add rk3288 evaluation board Heiko Stübner 2014-07-16 1:00 ` Olof Johansson 2014-07-16 20:02 ` Doug Anderson [not found] ` <CAD=FV=Vo-J2cmyUZfD6KUdvw=5iaCgANsSvaSKfuJRWz1DCCeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-07-16 21:22 ` Heiko Stübner 2014-07-17 10:18 ` [PATCH 0/6] ARM: rockchip: add initial support for rk3288 Will Deacon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).