[PATCH] ARM: OMAP2+: am335x-bone*: add DT for BeagleBone Black
George Cherian
george.cherian at ti.com
Fri Sep 6 02:57:19 EDT 2013
On 9/6/2013 12:03 PM, Koen Kooi wrote:
> The BeagleBone Black is basically a regular BeagleBone with eMMC and HDMI added,
> so create a common dtsi both can use. MMC support for AM335x still isn't in, so
> only the LDO change has been added.
>
> Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
> ---
> .../{am335x-bone.dts => am335x-bone-common.dtsi} | 3 -
> arch/arm/boot/dts/am335x-bone.dts | 256 +--------------------
> arch/arm/boot/dts/am335x-boneblack.dts | 18 ++
> 3 files changed, 19 insertions(+), 258 deletions(-)
> copy arch/arm/boot/dts/{am335x-bone.dts => am335x-bone-common.dtsi} (99%)
> create mode 100644 arch/arm/boot/dts/am335x-boneblack.dts
How did you test am335x-boneblack.dtb? where are the Makefile changes
for boneblack?
> diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone-common.dtsi
> similarity index 99%
> copy from arch/arm/boot/dts/am335x-bone.dts
> copy to arch/arm/boot/dts/am335x-bone-common.dtsi
> index d318987..2f66ded 100644
> --- a/arch/arm/boot/dts/am335x-bone.dts
> +++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
> @@ -5,9 +5,6 @@
> * it under the terms of the GNU General Public License version 2 as
> * published by the Free Software Foundation.
> */
> -/dts-v1/;
> -
> -#include "am33xx.dtsi"
>
> / {
> model = "TI AM335x BeagleBone";
> diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
> index d318987..7993c48 100644
> --- a/arch/arm/boot/dts/am335x-bone.dts
> +++ b/arch/arm/boot/dts/am335x-bone.dts
> @@ -8,258 +8,4 @@
> /dts-v1/;
>
> #include "am33xx.dtsi"
> -
> -/ {
> - model = "TI AM335x BeagleBone";
> - compatible = "ti,am335x-bone", "ti,am33xx";
> -
> - cpus {
> - cpu at 0 {
> - cpu0-supply = <&dcdc2_reg>;
> - };
> - };
> -
> - memory {
> - device_type = "memory";
> - reg = <0x80000000 0x10000000>; /* 256 MB */
> - };
> -
> - am33xx_pinmux: pinmux at 44e10800 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&clkout2_pin>;
> -
> - user_leds_s0: user_leds_s0 {
> - pinctrl-single,pins = <
> - 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */
> - 0x58 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_22 */
> - 0x5c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a7.gpio1_23 */
> - 0x60 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a8.gpio1_24 */
> - >;
> - };
> -
> - i2c0_pins: pinmux_i2c0_pins {
> - pinctrl-single,pins = <
> - 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
> - 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
> - >;
> - };
> -
> - uart0_pins: pinmux_uart0_pins {
> - pinctrl-single,pins = <
> - 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
> - 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
> - >;
> - };
> -
> - clkout2_pin: pinmux_clkout2_pin {
> - pinctrl-single,pins = <
> - 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
> - >;
> - };
> -
> - cpsw_default: cpsw_default {
> - pinctrl-single,pins = <
> - /* Slave 1 */
> - 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxerr.mii1_rxerr */
> - 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */
> - 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxdv.mii1_rxdv */
> - 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */
> - 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */
> - 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */
> - 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */
> - 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_txclk.mii1_txclk */
> - 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxclk.mii1_rxclk */
> - 0x134 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd3.mii1_rxd3 */
> - 0x138 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd2.mii1_rxd2 */
> - 0x13c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd1.mii1_rxd1 */
> - 0x140 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd0.mii1_rxd0 */
> - >;
> - };
> -
> - cpsw_sleep: cpsw_sleep {
> - pinctrl-single,pins = <
> - /* Slave 1 reset value */
> - 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - >;
> - };
> -
> - davinci_mdio_default: davinci_mdio_default {
> - pinctrl-single,pins = <
> - /* MDIO */
> - 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
> - 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
> - >;
> - };
> -
> - davinci_mdio_sleep: davinci_mdio_sleep {
> - pinctrl-single,pins = <
> - /* MDIO reset value */
> - 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> - >;
> - };
> - };
> -
> - ocp {
> - uart0: serial at 44e09000 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&uart0_pins>;
> -
> - status = "okay";
> - };
> -
> - musb: usb at 47400000 {
> - status = "okay";
> -
> - control at 44e10000 {
> - status = "okay";
> - };
> -
> - usb-phy at 47401300 {
> - status = "okay";
> - };
> -
> - usb-phy at 47401b00 {
> - status = "okay";
> - };
> -
> - usb at 47401000 {
> - status = "okay";
> - };
> -
> - usb at 47401800 {
> - status = "okay";
> - dr_mode = "host";
> - };
> -
> - dma-controller at 07402000 {
> - status = "okay";
> - };
> - };
> -
> - i2c0: i2c at 44e0b000 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&i2c0_pins>;
> -
> - status = "okay";
> - clock-frequency = <400000>;
> -
> - tps: tps at 24 {
> - reg = <0x24>;
> - };
> -
> - };
> - };
> -
> - leds {
> - pinctrl-names = "default";
> - pinctrl-0 = <&user_leds_s0>;
> -
> - compatible = "gpio-leds";
> -
> - led at 2 {
> - label = "beaglebone:green:heartbeat";
> - gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
> - linux,default-trigger = "heartbeat";
> - default-state = "off";
> - };
> -
> - led at 3 {
> - label = "beaglebone:green:mmc0";
> - gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
> - linux,default-trigger = "mmc0";
> - default-state = "off";
> - };
> -
> - led at 4 {
> - label = "beaglebone:green:usr2";
> - gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
> - default-state = "off";
> - };
> -
> - led at 5 {
> - label = "beaglebone:green:usr3";
> - gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
> - default-state = "off";
> - };
> - };
> -};
> -
> -/include/ "tps65217.dtsi"
> -
> -&tps {
> - regulators {
> - dcdc1_reg: regulator at 0 {
> - regulator-always-on;
> - };
> -
> - dcdc2_reg: regulator at 1 {
> - /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
> - regulator-name = "vdd_mpu";
> - regulator-min-microvolt = <925000>;
> - regulator-max-microvolt = <1325000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> -
> - dcdc3_reg: regulator at 2 {
> - /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
> - regulator-name = "vdd_core";
> - regulator-min-microvolt = <925000>;
> - regulator-max-microvolt = <1150000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> -
> - ldo1_reg: regulator at 3 {
> - regulator-always-on;
> - };
> -
> - ldo2_reg: regulator at 4 {
> - regulator-always-on;
> - };
> -
> - ldo3_reg: regulator at 5 {
> - regulator-always-on;
> - };
> -
> - ldo4_reg: regulator at 6 {
> - regulator-always-on;
> - };
> - };
> -};
> -
> -&cpsw_emac0 {
> - phy_id = <&davinci_mdio>, <0>;
> - phy-mode = "mii";
> -};
> -
> -&cpsw_emac1 {
> - phy_id = <&davinci_mdio>, <1>;
> - phy-mode = "mii";
> -};
> -
> -&mac {
> - pinctrl-names = "default", "sleep";
> - pinctrl-0 = <&cpsw_default>;
> - pinctrl-1 = <&cpsw_sleep>;
> -
> -};
> -
> -&davinci_mdio {
> - pinctrl-names = "default", "sleep";
> - pinctrl-0 = <&davinci_mdio_default>;
> - pinctrl-1 = <&davinci_mdio_sleep>;
> -};
> +#include "am335x-bone-common.dtsi"
> diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts
> new file mode 100644
> index 0000000..68d12aa
> --- /dev/null
> +++ b/arch/arm/boot/dts/am335x-boneblack.dts
> @@ -0,0 +1,18 @@
> +/*
> + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +/dts-v1/;
> +
> +#include "am33xx.dtsi"
Why cant we add am33xx.dtsi in am335x-bone-common.dtsi ?
> +#include "am335x-bone-common.dtsi"
> +
> +&ldo3_reg {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> +};
> +
With this ldo values mmc was not working for me on Boneblack.
got it working with
&ldo3_reg {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
--
-George
More information about the linux-arm-kernel
mailing list