Hi,

On 6 January 2016 at 11:21, Mateusz Kulikowski
<mateusz.kulikow...@gmail.com> wrote:
> This commit add support for 96Boards Dragonboard410C.
>
> It is board based on APQ8016 Qualcomm SoC, complying with
> 96boards specification.
>
> Features (present out of the box):
> - 4x Cortex A53 (ARMv8)
> - 2x USB Host port
> - 1x USB Device port
> - 4x LEDs
> - 1x HDMI connector
> - 1x uSD connector
> - 3x buttons (Power, Vol+, Vol-/Reset)
> - WIFI, Bluetooth with integrated antenna
> - 8GiB eMMC
>
> U-Boot boots chained with fastboot in 64-bit mode.
> For detailed build instructions see readme.txt in board directory.
>
> Signed-off-by: Mateusz Kulikowski <mateusz.kulikow...@gmail.com>
> ---
>
> Changes in v1:
> - Add better help for dragonboard
> - Move static structures to board_prepare_usb
> - Add DM_SPMI to defconfig
>
>  arch/arm/dts/Makefile                            |   2 +
>  arch/arm/dts/dragonboard410c.dts                 | 154 +++++++++++++++++++
>  arch/arm/mach-snapdragon/Kconfig                 |  20 +++
>  board/qualcomm/dragonboard410c/Kconfig           |  15 ++
>  board/qualcomm/dragonboard410c/Makefile          |   8 +
>  board/qualcomm/dragonboard410c/dragonboard410c.c | 111 ++++++++++++++
>  board/qualcomm/dragonboard410c/head.S            |  20 +++
>  board/qualcomm/dragonboard410c/readme.txt        |  40 +++++
>  board/qualcomm/dragonboard410c/u-boot.lds        |  90 +++++++++++
>  configs/dragonboard410c_defconfig                |  30 ++++
>  include/configs/dragonboard410c.h                | 182 
> +++++++++++++++++++++++
>  11 files changed, 672 insertions(+)
>  create mode 100644 arch/arm/dts/dragonboard410c.dts
>  create mode 100644 board/qualcomm/dragonboard410c/Kconfig
>  create mode 100644 board/qualcomm/dragonboard410c/Makefile
>  create mode 100644 board/qualcomm/dragonboard410c/dragonboard410c.c
>  create mode 100644 board/qualcomm/dragonboard410c/head.S
>  create mode 100644 board/qualcomm/dragonboard410c/readme.txt
>  create mode 100644 board/qualcomm/dragonboard410c/u-boot.lds
>  create mode 100644 configs/dragonboard410c_defconfig
>  create mode 100644 include/configs/dragonboard410c.h

Reviewed-by: Simon Glass <s...@chromium.org>

But please see my comment below.

>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 0bcd316..47aecf5 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -95,6 +95,8 @@ dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
>  dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds.dtb \
>         fsl-ls1043a-rdb.dtb
>
> +dtb-$(CONFIG_ARCH_SNAPDRAGON) += dragonboard410c.dtb
> +
>  dtb-$(CONFIG_MACH_SUN4I) += \
>         sun4i-a10-a1000.dtb \
>         sun4i-a10-ba10-tvbox.dtb \
> diff --git a/arch/arm/dts/dragonboard410c.dts 
> b/arch/arm/dts/dragonboard410c.dts
> new file mode 100644
> index 0000000..1de5d23
> --- /dev/null
> +++ b/arch/arm/dts/dragonboard410c.dts
> @@ -0,0 +1,154 @@
> +/dts-v1/;
> +
> +#include "skeleton64.dtsi"
> +
> +/ {
> +       model = "Qualcomm Technologies, Inc. Dragonboard 410c";
> +       compatible = "qcom,dragonboard", "qcom,apq8016-sbc";
> +       qcom,msm-id = <0xce 0x0 0xf8 0x0 0xf9 0x0 0xfa 0x0 0xf7 0x0>;
> +       qcom,board-id = <0x10018 0x0>;
> +       #address-cells = <0x2>;
> +       #size-cells = <0x2>;
> +
> +       memory {
> +               device_type = "memory";
> +               reg = <0 0x80000000 0 0x3da00000>;
> +       };
> +
> +       chosen {
> +               stdout-path = "/soc/serial@78b0000";
> +       };
> +
> +
> +       soc {
> +               #address-cells = <0x1>;
> +               #size-cells = <0x1>;
> +               ranges = <0x0 0x0 0x0 0xffffffff>;
> +               compatible = "simple-bus";
> +
> +               clkc: qcom,gcc@1800000 {
> +                       compatible = "qcom,gcc-apq8016";
> +                       reg = <0x1800000 0x80000>;
> +                       #address-cells = <0x1>;
> +                       #size-cells = <0x0>;
> +               };
> +
> +               serial@78b0000 {
> +                       compatible = "qcom,msm-uartdm-v1.4";
> +                       reg = <0x78b0000 0x200>;
> +                       u-boot,dm-pre-reloc;
> +                       clock = <&clkc 4>;
> +               };
> +
> +               restart@4ab000 {
> +                       compatible = "qcom,pshold";
> +                       reg = <0x4ab000 0x4>;
> +               };
> +
> +               soc_gpios: pinctrl@1000000 {
> +                       compatible = "qcom,apq8016-pinctrl";
> +                       reg = <0x1000000 0x300000>;
> +                       gpio-controller;
> +                       gpio-count = <122>;
> +                       gpio-bank-name="soc";
> +                       #gpio-cells = <1>;
> +               };
> +
> +               ehci@78d9000 {
> +                       compatible = "qcom,ehci-host";
> +                       reg = <0x78d9000 0x400>;
> +               };
> +
> +               sdhci@07824000 {
> +                       compatible = "qcom,sdhci-msm-v4";
> +                       reg = <0x7824900 0x11c 0x7824000 0x800>;
> +                       bus-width = <0x8>;
> +                       index = <0x0>;
> +                       non-removable;
> +                       clock = <&clkc 0>;
> +                       clock-frequency = <100000000>;
> +               };
> +
> +               sdhci@07864000 {
> +                       compatible = "qcom,sdhci-msm-v4";
> +                       reg = <0x7864900 0x11c 0x7864000 0x800>;
> +                       index = <0x1>;
> +                       bus-width = <0x4>;
> +                       clock = <&clkc 1>;
> +                       clock-frequency = <200000000>;
> +               };
> +
> +               spmi@200f000 {
> +                       compatible = "qcom,spmi-pmic-arb";
> +                       reg = <0x200f800 0x200 0x2400000 0x400000 0x2c00000 
> 0x400000>;
> +                       #address-cells = <0x1>;
> +                       #size-cells = <0x1>;
> +                       pm8916@0 {
> +                               compatible = "qcom,spmi-pmic";
> +                               reg = <0x0 0x1>;
> +                               #address-cells = <0x1>;
> +                               #size-cells = <0x1>;
> +
> +                               pmic_pon: pon@800 {
> +                                       compatible = "qcom,pm8916-pwrkey";
> +                                       reg = <0x800 0x96>;
> +                                       #gpio-cells = <2>;
> +                                       gpio-controller;
> +                               };
> +
> +                               pmic_gpios: gpios@c000 {
> +                                       compatible = "qcom,pm8916-gpio";
> +                                       reg = <0xc000 0x400>;
> +                                       gpio-controller;
> +                                       gpio-count = <4>;
> +                                       #gpio-cells = <2>;
> +                                       gpio-bank-name="pmic";
> +                               };
> +                       };
> +
> +                       pm8916@1 {
> +                               compatible = "qcom,spmi-pmic";
> +                               reg = <0x1 0x1>;
> +                       };
> +               };
> +       };
> +
> +       leds {
> +               compatible = "gpio-leds";
> +               user1 {
> +                       label = "green:user1";
> +                       gpios = <&soc_gpios 21 0>;
> +               };
> +
> +               user2 {
> +                       label = "green:user2";
> +                       gpios = <&soc_gpios 120 0>;
> +               };
> +
> +               user3 {
> +                       label = "green:user3";
> +                       gpios = <&pmic_gpios 0 0>;
> +               };
> +
> +               user4 {
> +                       label = "green:user4";
> +                       gpios = <&pmic_gpios 1 0>;
> +               };
> +       };
> +
> +       usb_hub_reset_n_pm {
> +               gpios = <&pmic_gpios 2 0>;
> +       };
> +
> +       usb_sw_sel_pm {
> +               gpios = <&pmic_gpios 3 0>;
> +       };
> +
> +       key_vol_down {
> +               gpios = <&pmic_pon 1 0>;
> +       };
> +
> +       key_power {
> +               gpios = <&pmic_pon 0 0>;
> +       };

The above four nodes seems odd in that they don't have compatible
strings. Is this how Linux does it? Also more normally the node name
has hyphens rather than underscores.

Regards,
Simon
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to