Switch bcm283x platform to use OF_CONTROL
Subsystems (7)
cover Switch bcm283x platform to use OF_CONTROL
This patch series modifies the used drivers to work with OF_CONTROL and switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.
Fabian Vogt (9):
gpio: bcm2835: add device tree support
serial: bcm283x_mu: add device tree support
serial: pl01x: expose skip_init platdata option in DT
fdt: add dt-bindings for bcm2835
fdt: import bcm283x device tree sources from the linux kernel tree
fdt: adjust bcm283x device tree for u-boot
serial: bcm283x_mu: support disabling after initialization
board: rpi: move uart deactivation to board_init
ARM: bcm283x: use OF_CONTROL for bcm283x
arch/arm/Kconfig | 1 + arch/arm/dts/Makefile | 9 + arch/arm/dts/bcm2835-rpi-a-plus.dts | 35 +++ arch/arm/dts/bcm2835-rpi-a.dts | 28 ++ arch/arm/dts/bcm2835-rpi-b-plus.dts | 36 +++ arch/arm/dts/bcm2835-rpi-b-rev2.dts | 29 ++ arch/arm/dts/bcm2835-rpi-b.dts | 23 ++ arch/arm/dts/bcm2835-rpi.dtsi | 86 ++++++ arch/arm/dts/bcm2835.dtsi | 25 ++ arch/arm/dts/bcm2836-rpi-2-b.dts | 40 +++ arch/arm/dts/bcm2836.dtsi | 78 +++++ arch/arm/dts/bcm2837-rpi-3-b.dts | 30 ++ arch/arm/dts/bcm2837.dtsi | 76 +++++ arch/arm/dts/bcm283x-rpi-smsc9512.dtsi | 19 ++ arch/arm/dts/bcm283x-rpi-smsc9514.dtsi | 19 ++ arch/arm/dts/bcm283x-uboot.dtsi | 22 ++ arch/arm/dts/bcm283x.dtsi | 323 +++++++++++++++++++++ board/raspberrypi/rpi/rpi.c | 77 ++--- configs/rpi_2_defconfig | 2 + configs/rpi_3_32b_defconfig | 2 + configs/rpi_3_defconfig | 2 + configs/rpi_defconfig | 2 + doc/device-tree-bindings/gpio/bcm2835-gpio.txt | 5 + .../serial/bcm2835-aux-uart.txt | 10 + doc/device-tree-bindings/serial/pl01x.txt | 3 + drivers/gpio/bcm2835_gpio.c | 24 ++ drivers/serial/serial_bcm283x_mu.c | 46 ++- drivers/serial/serial_pl01x.c | 2 + include/configs/rpi.h | 1 - include/dt-bindings/clock/bcm2835-aux.h | 17 ++ include/dt-bindings/clock/bcm2835.h | 66 +++++ include/dt-bindings/pinctrl/bcm2835.h | 27 ++ include/dt-bindings/power/raspberrypi-power.h | 41 +++ 33 files changed, 1152 insertions(+), 54 deletions(-) create mode 100644 arch/arm/dts/bcm2835-rpi-a-plus.dts create mode 100644 arch/arm/dts/bcm2835-rpi-a.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b-plus.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b-rev2.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b.dts create mode 100644 arch/arm/dts/bcm2835-rpi.dtsi create mode 100644 arch/arm/dts/bcm2835.dtsi create mode 100644 arch/arm/dts/bcm2836-rpi-2-b.dts create mode 100644 arch/arm/dts/bcm2836.dtsi create mode 100644 arch/arm/dts/bcm2837-rpi-3-b.dts create mode 100644 arch/arm/dts/bcm2837.dtsi create mode 100644 arch/arm/dts/bcm283x-rpi-smsc9512.dtsi create mode 100644 arch/arm/dts/bcm283x-rpi-smsc9514.dtsi create mode 100644 arch/arm/dts/bcm283x-uboot.dtsi create mode 100644 arch/arm/dts/bcm283x.dtsi create mode 100644 doc/device-tree-bindings/gpio/bcm2835-gpio.txt create mode 100644 doc/device-tree-bindings/serial/bcm2835-aux-uart.txt create mode 100644 include/dt-bindings/clock/bcm2835-aux.h create mode 100644 include/dt-bindings/clock/bcm2835.h create mode 100644 include/dt-bindings/pinctrl/bcm2835.h create mode 100644 include/dt-bindings/power/raspberrypi-power.h
Signature · 1 line
2.6.2
PATCH 1/9 gpio: bcm2835: add device tree support
This patch adds device tree support for the bcm2835 GPIO driver.
--- doc/device-tree-bindings/gpio/bcm2835-gpio.txt | 5 +++++ drivers/gpio/bcm2835_gpio.c | 24 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 doc/device-tree-bindings/gpio/bcm2835-gpio.txt
doc/device-tree-bindings/gpio/bcm2835-gpio.txt new file +5 -0
@@ -0,0 +1,5 @@ +* Broadcom BCM283x GPIO controller + +Required properties: +- compatible: must be "brcm,bcm2835-gpio" +- reg: exactly one register range with length 0xb4
drivers/gpio/bcm2835_gpio.c +24 -0
@@ -10,6 +10,7 @@#include <errno.h> #include <asm/gpio.h> #include <asm/io.h> +#include <fdtdec.h> struct bcm2835_gpios {struct bcm2835_gpio_regs *reg;
@@ -118,9 +119,32 @@ static int bcm2835_gpio_probe(struct udevice *dev)return 0 ; } +#if CONFIG_IS_ENABLED (OF_CONTROL ) +static const struct udevice_id bcm2835_gpio_id[] = { + {.compatible ="brcm,bcm2835-gpio" }, + {} +}; + +static int bcm2835_gpio_ofdata_to_platdata (struct udevice *dev) +{ +struct bcm2835_gpio_platdata *plat =dev_get_platdata (dev); +fdt_addr_t addr; + + addr =dev_get_addr (dev); +if (addr ==FDT_ADDR_T_NONE ) +return -EINVAL ; + + plat->base = addr; +return 0 ; +} +#endif +U_BOOT_DRIVER (gpio_bcm2835) = { .name ="gpio_bcm2835" , .id =UCLASS_GPIO , + .of_match =of_match_ptr (bcm2835_gpio_id), + .ofdata_to_platdata =of_match_ptr (bcm2835_gpio_ofdata_to_platdata), + .platdata_auto_alloc_size =sizeof (struct bcm2835_gpio_platdata ), .ops = &gpio_bcm2835_ops, .probe = bcm2835_gpio_probe, .flags =DM_FLAG_PRE_RELOC ,
Signature · 1 line
2.6.2
PATCH 1/9 gpio: bcm2835: add device tree support
Quoted 8 lines · Fabian Vogt
This patch adds device tree support for the bcm2835 GPIO driver.
Signed-off-by Fabian Vogt <[email protected]>--- doc/device-tree-bindings/gpio/bcm2835-gpio.txt | 5 +++++ drivers/gpio/bcm2835_gpio.c | 24 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 doc/device-tree-bindings/gpio/bcm2835-gpio.txt
PATCH 1/9 gpio: bcm2835: add device tree support
In reply to Fabian VogtQuoted 4 lines · Fabian Vogt
This patch adds device tree support for the bcm2835 GPIO driver.
Signed-off-by Fabian Vogt <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161129/720ab24f/attachment.sig>
PATCH 2/9 serial: bcm283x_mu: add device tree support
In reply to Fabian VogtThis patch adds device tree support for the bcm283x mini-uart driver.
--- .../serial/bcm2835-aux-uart.txt | 10 ++++++++ drivers/serial/serial_bcm283x_mu.c | 28 ++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 doc/device-tree-bindings/serial/bcm2835-aux-uart.txt
doc/device-tree-bindings/serial/bcm2835-aux-uart.txt new file +10 -0
@@ -0,0 +1,10 @@ +* BCM283x mini UART + +Required properties: +- compatible: must be "brcm,bcm2835-aux-uart" +- reg: exactly one register range with length 0x1000 +- clock: input clock frequency for the UART (used to calculate the baud + rate divisor) + +Optional properties: +- skip-init: if present, the baud rate divisor is not changed
drivers/serial/serial_bcm283x_mu.c +28 -0
@@ -25,6 +25,8 @@#include <linux/compiler.h> #include <fdtdec.h> +DECLARE_GLOBAL_DATA_PTR ; +struct bcm283x_mu_regs {u32 io;u32 iir;
@@ -132,9 +134,35 @@ static const struct dm_serial_ops bcm283x_mu_serial_ops = { .setbrg = bcm283x_mu_serial_setbrg, }; +#if CONFIG_IS_ENABLED (OF_CONTROL ) +static const struct udevice_id bcm283x_mu_serial_id[] = { + {.compatible ="brcm,bcm2835-aux-uart" }, + {} +}; + +static int bcm283x_mu_serial_ofdata_to_platdata (struct udevice *dev) +{ +struct bcm283x_mu_serial_platdata *plat =dev_get_platdata (dev); +fdt_addr_t addr; + + addr =dev_get_addr (dev); +if (addr ==FDT_ADDR_T_NONE ) +return -EINVAL ; + + plat->base = addr; + plat->clock =fdtdec_get_int (gd->fdt_blob, dev->of_offset,"clock" ,1 ); + plat->skip_init =fdtdec_get_bool (gd->fdt_blob, dev->of_offset, +"skip-init" ); + plat->disabled = false; +return 0 ; +} +#endif +U_BOOT_DRIVER (serial_bcm283x_mu) = { .name ="serial_bcm283x_mu" , .id =UCLASS_SERIAL , + .of_match =of_match_ptr (bcm283x_mu_serial_id), + .ofdata_to_platdata =of_match_ptr (bcm283x_mu_serial_ofdata_to_platdata), .platdata_auto_alloc_size =sizeof (struct bcm283x_mu_serial_platdata ), .probe = bcm283x_mu_serial_probe, .ops = &bcm283x_mu_serial_ops,
Signature · 1 line
2.6.2
PATCH 2/9 serial: bcm283x_mu: add device tree support
Quoted 8 lines · Fabian Vogt
This patch adds device tree support for the bcm283x mini-uart driver.
Signed-off-by Fabian Vogt <[email protected]>--- .../serial/bcm2835-aux-uart.txt | 10 ++++++++ drivers/serial/serial_bcm283x_mu.c | 28 ++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 doc/device-tree-bindings/serial/bcm2835-aux-uart.txt
PATCH 2/9 serial: bcm283x_mu: add device tree support
In reply to Fabian VogtQuoted 4 lines · Fabian Vogt
This patch adds device tree support for the bcm283x mini-uart driver.
Signed-off-by Fabian Vogt <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161129/c805570e/attachment.sig>
PATCH 3/9 serial: pl01x: expose skip_init platdata option in DT
In reply to Fabian VogtTo be able to represent the skip-init platdata element with OF_CONTROL, it needs to be read from the device tree as well and put into the platform data.
--- doc/device-tree-bindings/serial/pl01x.txt | 3 +++ drivers/serial/serial_pl01x.c | 2 ++ 2 files changed, 5 insertions(+)
doc/device-tree-bindings/serial/pl01x.txt +3 -0
@@ -5,3 +5,6 @@ Required properties: - reg: exactly one register range with length 0x1000 - clock: input clock frequency for the UART (used to calculate the baud rate divisor) + +Optional properties: +- skip-init: if present, the baud rate divisor is not changed
drivers/serial/serial_pl01x.c +2 -0
@@ -356,6 +356,8 @@ static int pl01x_serial_ofdata_to_platdata(struct udevice *dev) plat->base = addr; plat->clock =fdtdec_get_int (gd->fdt_blob, dev->of_offset,"clock" ,1 ); plat->type =dev_get_driver_data (dev); + plat->skip_init =fdtdec_get_bool (gd->fdt_blob, dev->of_offset, +"skip-init" ); return 0; }#endif
Signature · 1 line
2.6.2
PATCH 3/9 serial: pl01x: expose skip_init platdata option in DT
Quoted 9 lines · Fabian Vogt
To be able to represent the skip-init platdata element with
OF_CONTROL, it needs to be read from the device tree as well and put into the platform data.Cc Eric Anholt <[email protected]>Signed-off-by Fabian Vogt <[email protected]>--- doc/device-tree-bindings/serial/pl01x.txt | 3 +++ drivers/serial/serial_pl01x.c | 2 ++ 2 files changed, 5 insertions(+)
PATCH 3/9 serial: pl01x: expose skip_init platdata option in DT
In reply to Fabian VogtQuoted 6 lines · Fabian Vogt
To be able to represent the skip-init platdata element with
OF_CONTROL, it needs to be read from the device tree as well and put into the platform data.Cc Eric Anholt <[email protected]>Signed-off-by Fabian Vogt <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161129/d6be33f4/attachment.sig>
PATCH 4/9 fdt: add dt-bindings for bcm2835
In reply to Fabian VogtThis patch adds dt-bindings as used by the linux kernel device trees for the bcm283x family.
Albert Aribaud <[email protected]>
--- include/dt-bindings/clock/bcm2835-aux.h | 17 +++++++ include/dt-bindings/clock/bcm2835.h | 66 +++++++++++++++++++++++++++ include/dt-bindings/pinctrl/bcm2835.h | 27 +++++++++++ include/dt-bindings/power/raspberrypi-power.h | 41 +++++++++++++++++ 4 files changed, 151 insertions(+) create mode 100644 include/dt-bindings/clock/bcm2835-aux.h create mode 100644 include/dt-bindings/clock/bcm2835.h create mode 100644 include/dt-bindings/pinctrl/bcm2835.h create mode 100644 include/dt-bindings/power/raspberrypi-power.h
include/dt-bindings/clock/bcm2835-aux.h new file +17 -0
@@ -0,0 +1,17 @@ +/* +* Copyright (C) 2015 Broadcom Corporation +* +* 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 version 2. +* +* This program is distributed "as is" WITHOUT ANY WARRANTY of any +* kind, whether express or implied; without even the implied warranty +* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +*/ + +#define BCM2835_AUX_CLOCK_UART 0 +#define BCM2835_AUX_CLOCK_SPI1 1 +#define BCM2835_AUX_CLOCK_SPI2 2 +#define BCM2835_AUX_CLOCK_COUNT 3
include/dt-bindings/clock/bcm2835.h new file +66 -0
66 lines not on this page · raw message
include/dt-bindings/pinctrl/bcm2835.h new file +27 -0
@@ -0,0 +1,27 @@ +/* +* Header providing constants for bcm2835 pinctrl bindings. +* +* Copyright (C) 2015 Stefan Wahren <[email protected]> +* +* The code contained herein is licensed under the GNU General Public +* License. You may obtain a copy of the GNU General Public License +* Version 2 at the following locations: +* +* http://www.opensource.org/licenses/gpl-license.html +* http://www.gnu.org/copyleft/gpl.html +*/ + +#ifndef __DT_BINDINGS_PINCTRL_BCM2835_H__ +#define __DT_BINDINGS_PINCTRL_BCM2835_H__ + +/* brcm,function property */ +#define BCM2835_FSEL_GPIO_IN 0 +#define BCM2835_FSEL_GPIO_OUT 1 +#define BCM2835_FSEL_ALT5 2 +#define BCM2835_FSEL_ALT4 3 +#define BCM2835_FSEL_ALT0 4 +#define BCM2835_FSEL_ALT1 5 +#define BCM2835_FSEL_ALT2 6 +#define BCM2835_FSEL_ALT3 7 + +#endif /* __DT_BINDINGS_PINCTRL_BCM2835_H__ */
include/dt-bindings/power/raspberrypi-power.h new file +41 -0
41 lines not on this page · raw message
Signature · 1 line
2.6.2
PATCH 4/9 fdt: add dt-bindings for bcm2835
Quoted 5 lines · Fabian Vogt
This patch adds dt-bindings as used by the linux kernel device trees for the bcm283x family.
Albert Aribaud <[email protected]>
Signed-off-by Fabian Vogt <[email protected]>
Quoted 10 lines
--- include/dt-bindings/clock/bcm2835-aux.h | 17 +++++++ include/dt-bindings/clock/bcm2835.h | 66 +++++++++++++++++++++++++++ include/dt-bindings/pinctrl/bcm2835.h | 27 +++++++++++ include/dt-bindings/power/raspberrypi-power.h | 41 +++++++++++++++++ 4 files changed, 151 insertions(+) create mode 100644 include/dt-bindings/clock/bcm2835-aux.h create mode 100644 include/dt-bindings/clock/bcm2835.h create mode 100644 include/dt-bindings/pinctrl/bcm2835.h create mode 100644 include/dt-bindings/power/raspberrypi-power.h
PATCH 4/9 fdt: add dt-bindings for bcm2835
In reply to Fabian VogtQuoted 6 lines · Fabian Vogt
This patch adds dt-bindings as used by the linux kernel device trees for the bcm283x family.
Albert Aribaud <[email protected]>
Signed-off-by Fabian Vogt <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161129/e94344b7/attachment-0001.sig>
PATCH 5/9 fdt: import bcm283x device tree sources from the linux kernel tree
In reply to Fabian VogtThis patch adds device trees for the bcm283x platform to be used with OF_CONTROL. The version 4.8-rc7 of the linux kernel was used as source.
--- arch/arm/dts/Makefile | 9 + arch/arm/dts/bcm2835-rpi-a-plus.dts | 35 ++++ arch/arm/dts/bcm2835-rpi-a.dts | 28 +++ arch/arm/dts/bcm2835-rpi-b-plus.dts | 36 ++++ arch/arm/dts/bcm2835-rpi-b-rev2.dts | 29 +++ arch/arm/dts/bcm2835-rpi-b.dts | 23 +++ arch/arm/dts/bcm2835-rpi.dtsi | 86 +++++++++ arch/arm/dts/bcm2835.dtsi | 25 +++ arch/arm/dts/bcm2836-rpi-2-b.dts | 40 ++++ arch/arm/dts/bcm2836.dtsi | 78 ++++++++ arch/arm/dts/bcm2837-rpi-3-b.dts | 30 +++ arch/arm/dts/bcm2837.dtsi | 76 ++++++++ arch/arm/dts/bcm283x-rpi-smsc9512.dtsi | 19 ++ arch/arm/dts/bcm283x-rpi-smsc9514.dtsi | 19 ++ arch/arm/dts/bcm283x.dtsi | 321 +++++++++++++++++++++++++++++++++ 15 files changed, 854 insertions(+) create mode 100644 arch/arm/dts/bcm2835-rpi-a-plus.dts create mode 100644 arch/arm/dts/bcm2835-rpi-a.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b-plus.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b-rev2.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b.dts create mode 100644 arch/arm/dts/bcm2835-rpi.dtsi create mode 100644 arch/arm/dts/bcm2835.dtsi create mode 100644 arch/arm/dts/bcm2836-rpi-2-b.dts create mode 100644 arch/arm/dts/bcm2836.dtsi create mode 100644 arch/arm/dts/bcm2837-rpi-3-b.dts create mode 100644 arch/arm/dts/bcm2837.dtsi create mode 100644 arch/arm/dts/bcm283x-rpi-smsc9512.dtsi create mode 100644 arch/arm/dts/bcm283x-rpi-smsc9514.dtsi create mode 100644 arch/arm/dts/bcm283x.dtsi
arch/arm/dts/Makefile +9 -0
@@ -283,6 +283,15 @@ dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \ dtb-$(CONFIG_TARGET_SAMA5D2_XPLAINED) += \ at91-sama5d2_xplained.dtb +dtb-$(CONFIG_ARCH_BCM283X) += \ + bcm2835-rpi-a-plus.dtb \ + bcm2835-rpi-a.dtb \ + bcm2835-rpi-b-plus.dtb \ + bcm2835-rpi-b-rev2.dtb \ + bcm2835-rpi-b.dtb \ + bcm2836-rpi-2-b.dtb \ + bcm2837-rpi-3-b.dtb + targets += $(dtb-y) # Add any required device tree compiler flags here
arch/arm/dts/bcm2835-rpi-a-plus.dts new file +35 -0
@@ -0,0 +1,35 @@ +/dts-v1/; +#include "bcm2835.dtsi" +#include "bcm2835-rpi.dtsi" + +/ { + compatible = "raspberrypi,model-a-plus", "brcm,bcm2835"; + model = "Raspberry Pi Model A+"; + + leds { + act { + gpios = <&gpio 47 0>; + }; + + pwr { + label = "PWR"; + gpios = <&gpio 35 0>; + default-state = "keep"; + linux,default-trigger = "default-on"; + }; + }; +}; + +&gpio { + pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>; + + /* I2S interface */ + i2s_alt0: i2s_alt0 { + brcm,pins = <18 19 20 21>; + brcm,function = <BCM2835_FSEL_ALT0>; + }; +}; + +&hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; +};
arch/arm/dts/bcm2835-rpi-a.dts new file +28 -0
@@ -0,0 +1,28 @@ +/dts-v1/; +#include "bcm2835.dtsi" +#include "bcm2835-rpi.dtsi" + +/ { + compatible = "raspberrypi,model-a", "brcm,bcm2835"; + model = "Raspberry Pi Model A"; + + leds { + act { + gpios = <&gpio 16 1>; + }; + }; +}; + +&gpio { + pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>; + + /* I2S interface */ + i2s_alt2: i2s_alt2 { + brcm,pins = <28 29 30 31>; + brcm,function = <BCM2835_FSEL_ALT2>; + }; +}; + +&hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; +};
arch/arm/dts/bcm2835-rpi-b-plus.dts new file +36 -0
@@ -0,0 +1,36 @@ +/dts-v1/; +#include "bcm2835.dtsi" +#include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-smsc9514.dtsi" + +/ { + compatible = "raspberrypi,model-b-plus", "brcm,bcm2835"; + model = "Raspberry Pi Model B+"; + + leds { + act { + gpios = <&gpio 47 0>; + }; + + pwr { + label = "PWR"; + gpios = <&gpio 35 0>; + default-state = "keep"; + linux,default-trigger = "default-on"; + }; + }; +}; + +&gpio { + pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>; + + /* I2S interface */ + i2s_alt0: i2s_alt0 { + brcm,pins = <18 19 20 21>; + brcm,function = <BCM2835_FSEL_ALT0>; + }; +}; + +&hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; +};
arch/arm/dts/bcm2835-rpi-b-rev2.dts new file +29 -0
@@ -0,0 +1,29 @@ +/dts-v1/; +#include "bcm2835.dtsi" +#include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-smsc9512.dtsi" + +/ { + compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835"; + model = "Raspberry Pi Model B rev2"; + + leds { + act { + gpios = <&gpio 16 1>; + }; + }; +}; + +&gpio { + pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>; + + /* I2S interface */ + i2s_alt2: i2s_alt2 { + brcm,pins = <28 29 30 31>; + brcm,function = <BCM2835_FSEL_ALT2>; + }; +}; + +&hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; +};
arch/arm/dts/bcm2835-rpi-b.dts new file +23 -0
@@ -0,0 +1,23 @@ +/dts-v1/; +#include "bcm2835.dtsi" +#include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-smsc9512.dtsi" + +/ { + compatible = "raspberrypi,model-b", "brcm,bcm2835"; + model = "Raspberry Pi Model B"; + + leds { + act { + gpios = <&gpio 16 1>; + }; + }; +}; + +&gpio { + pinctrl-0 = <&gpioout &alt0 &alt3>; +}; + +&hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; +};
arch/arm/dts/bcm2835-rpi.dtsi new file +86 -0
86 lines not on this page · raw message
arch/arm/dts/bcm2835.dtsi new file +25 -0
@@ -0,0 +1,25 @@ +#include "bcm283x.dtsi" + +/ { + compatible = "brcm,bcm2835"; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu at 0 { + device_type = "cpu"; + compatible = "arm,arm1176jzf-s"; + reg = <0x0>; + }; + }; + + soc { + ranges = <0x7e000000 0x20000000 0x02000000>; + dma-ranges = <0x40000000 0x00000000 0x20000000>; + + arm-pmu { + compatible = "arm,arm1176-pmu"; + }; + }; +};
arch/arm/dts/bcm2836-rpi-2-b.dts new file +40 -0
@@ -0,0 +1,40 @@ +/dts-v1/; +#include "bcm2836.dtsi" +#include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-smsc9514.dtsi" + +/ { + compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; + model = "Raspberry Pi 2 Model B"; + + memory { + reg = <0 0x40000000>; + }; + + leds { + act { + gpios = <&gpio 47 0>; + }; + + pwr { + label = "PWR"; + gpios = <&gpio 35 0>; + default-state = "keep"; + linux,default-trigger = "default-on"; + }; + }; +}; + +&gpio { + pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>; + + /* I2S interface */ + i2s_alt0: i2s_alt0 { + brcm,pins = <18 19 20 21>; + brcm,function = <BCM2835_FSEL_ALT0>; + }; +}; + +&hdmi { + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; +};
arch/arm/dts/bcm2836.dtsi new file +78 -0
78 lines not on this page · raw message
arch/arm/dts/bcm2837-rpi-3-b.dts new file +30 -0
@@ -0,0 +1,30 @@ +/dts-v1/; +#include "bcm2837.dtsi" +#include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-smsc9514.dtsi" + +/ { + compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; + model = "Raspberry Pi 3 Model B"; + + memory { + reg = <0 0x40000000>; + }; + + leds { + act { + gpios = <&gpio 47 0>; + }; + + pwr { + label = "PWR"; + gpios = <&gpio 35 0>; + default-state = "keep"; + linux,default-trigger = "default-on"; + }; + }; +}; + +&uart1 { + status = "okay"; +};
arch/arm/dts/bcm2837.dtsi new file +76 -0
76 lines not on this page · raw message
arch/arm/dts/bcm283x-rpi-smsc9512.dtsi new file +19 -0
@@ -0,0 +1,19 @@ +/ { + aliases { + ethernet = ðernet; + }; +}; + +&usb { + usb1 at 1 { + compatible = "usb424,9512"; + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + ethernet: usbether at 1 { + compatible = "usb424,ec00"; + reg = <1>; + }; + }; +};
arch/arm/dts/bcm283x-rpi-smsc9514.dtsi new file +19 -0
@@ -0,0 +1,19 @@ +/ { + aliases { + ethernet = ðernet; + }; +}; + +&usb { + usb1 at 1 { + compatible = "usb424,9514"; + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + ethernet: usbether at 1 { + compatible = "usb424,ec00"; + reg = <1>; + }; + }; +};
arch/arm/dts/bcm283x.dtsi new file +321 -0
321 lines not on this page · raw message
Signature · 1 line
2.6.2
PATCH 5/9 fdt: import bcm283x device tree sources from the linux kernel tree
Quoted 28 lines · Fabian Vogt
This patch adds device trees for the bcm283x platform to be used with
OF_CONTROL. The version 4.8-rc7 of the linux kernel was used as source.Cc Albert Aribaud <[email protected]>Signed-off-by Fabian Vogt <[email protected]>--- arch/arm/dts/Makefile | 9 + arch/arm/dts/bcm2835-rpi-a-plus.dts | 35 ++++ arch/arm/dts/bcm2835-rpi-a.dts | 28 +++ arch/arm/dts/bcm2835-rpi-b-plus.dts | 36 ++++ arch/arm/dts/bcm2835-rpi-b-rev2.dts | 29 +++ arch/arm/dts/bcm2835-rpi-b.dts | 23 +++ arch/arm/dts/bcm2835-rpi.dtsi | 86 +++++++++ arch/arm/dts/bcm2835.dtsi | 25 +++ arch/arm/dts/bcm2836-rpi-2-b.dts | 40 ++++ arch/arm/dts/bcm2836.dtsi | 78 ++++++++ arch/arm/dts/bcm2837-rpi-3-b.dts | 30 +++ arch/arm/dts/bcm2837.dtsi | 76 ++++++++ arch/arm/dts/bcm283x-rpi-smsc9512.dtsi | 19 ++ arch/arm/dts/bcm283x-rpi-smsc9514.dtsi | 19 ++ arch/arm/dts/bcm283x.dtsi | 321 +++++++++++++++++++++++++++++++++ 15 files changed, 854 insertions(+) create mode 100644 arch/arm/dts/bcm2835-rpi-a-plus.dts create mode 100644 arch/arm/dts/bcm2835-rpi-a.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b-plus.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b-rev2.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b.dts create mode 100644 arch/arm/dts/bcm2835-rpi.dtsi
Quoted 8 lines
create mode 100644 arch/arm/dts/bcm2835.dtsi create mode 100644 arch/arm/dts/bcm2836-rpi-2-b.dts create mode 100644 arch/arm/dts/bcm2836.dtsi create mode 100644 arch/arm/dts/bcm2837-rpi-3-b.dts create mode 100644 arch/arm/dts/bcm2837.dtsi create mode 100644 arch/arm/dts/bcm283x-rpi-smsc9512.dtsi create mode 100644 arch/arm/dts/bcm283x-rpi-smsc9514.dtsi create mode 100644 arch/arm/dts/bcm283x.dtsi
PATCH 5/9 fdt: import bcm283x device tree sources from the linux kernel tree
In reply to Fabian VogtQuoted 6 lines · Fabian Vogt
This patch adds device trees for the bcm283x platform to be used with
OF_CONTROL. The version 4.8-rc7 of the linux kernel was used as source.Cc Albert Aribaud <[email protected]>Signed-off-by Fabian Vogt <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161129/3ffb6cd4/attachment.sig>
PATCH 6/9 fdt: adjust bcm283x device tree for u-boot
In reply to Fabian VogtThe information currently set via platdata has to be represented in the device tree now. bcm283x-uboot.dtsi adds the u-boot specific "skip-init" property to the serial nodes and enables initialization in the pre-reloc phase.
--- arch/arm/dts/bcm283x-uboot.dtsi | 22 ++++++++++++++++++++++ arch/arm/dts/bcm283x.dtsi | 4 +++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/bcm283x-uboot.dtsi
arch/arm/dts/bcm283x-uboot.dtsi new file +22 -0
@@ -0,0 +1,22 @@ +/* + * U-Boot addition to keep baudrate set by firmware + * and also initialize before relocation. + * + * (C) Copyright 2016 Fabian Vogt <[email protected]> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +&soc { + u-boot,dm-pre-reloc; +}; + +&uart0 { + skip-init; + u-boot,dm-pre-reloc; +}; + +&uart1 { + skip-init; + u-boot,dm-pre-reloc; +};
arch/arm/dts/bcm283x.dtsi +3 -1
@@ -19,7 +19,7 @@ bootargs = "earlyprintk console=ttyAMA0"; }; - soc { + soc: soc { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>;
@@ -319,3 +319,5 @@ }; }; + +#include "bcm283x-uboot.dtsi"
Signature · 1 line
2.6.2
PATCH 6/9 fdt: adjust bcm283x device tree for u-boot
Quoted 11 lines · Fabian Vogt
The information currently set via platdata has to be represented in the device tree now.
bcm283x-uboot.dtsiadds the u-boot specific "skip-init" property to the serial nodes and enables initialization in the pre-reloc phase.Cc Albert Aribaud <[email protected]>Signed-off-by Fabian Vogt <[email protected]>--- arch/arm/dts/bcm283x-uboot.dtsi | 22 ++++++++++++++++++++++ arch/arm/dts/bcm283x.dtsi | 4 +++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/bcm283x-uboot.dtsi
I'd be intrigued to see if Linux would accept a version of this patch.
PATCH 6/9 fdt: adjust bcm283x device tree for u-boot
In reply to Fabian VogtQuoted 7 lines · Fabian Vogt
The information currently set via platdata has to be represented in the device tree now.
bcm283x-uboot.dtsiadds the u-boot specific "skip-init" property to the serial nodes and enables initialization in the pre-reloc phase.Cc Albert Aribaud <[email protected]>Signed-off-by Fabian Vogt <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161129/c1f90fb0/attachment.sig>
PATCH 7/9 serial: bcm283x_mu: support disabling after initialization
In reply to Fabian VogtFor the Raspberry Pi 3 it needs to be possible to disable the serial device after initialization happens, as only after the GPIO device is available it is known whether the mini uart is usable.
--- drivers/serial/serial_bcm283x_mu.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)
drivers/serial/serial_bcm283x_mu.c +16 -2
@@ -59,7 +59,7 @@ static int bcm283x_mu_serial_setbrg(struct udevice *dev, int baudrate)struct bcm283x_mu_regs *regs = priv->regs;u32 divider; -if (plat->skip_init) +if (plat->disabled || plat->skip_init)return 0 ; divider = plat->clock / (baudrate *8 );
@@ -85,10 +85,14 @@ static int bcm283x_mu_serial_probe(struct udevice *dev)static int bcm283x_mu_serial_getc (struct udevice *dev) { +struct bcm283x_mu_serial_platdata *plat =dev_get_platdata (dev);struct bcm283x_mu_priv *priv =dev_get_priv (dev);struct bcm283x_mu_regs *regs = priv->regs;u32 data; +if (plat->disabled) +return -EAGAIN ; +/* Wait until there is data in the FIFO */ if (!(readl (®s->lsr) &BCM283X_MU_LSR_RX_READY ))return -EAGAIN ;
@@ -100,9 +104,13 @@ static int bcm283x_mu_serial_getc(struct udevice *dev)static int bcm283x_mu_serial_putc (struct udevice *dev,const char data) { +struct bcm283x_mu_serial_platdata *plat =dev_get_platdata (dev);struct bcm283x_mu_priv *priv =dev_get_priv (dev);struct bcm283x_mu_regs *regs = priv->regs; +if (plat->disabled) +return 0 ; +/* Wait until there is space in the FIFO */ if (!(readl (®s->lsr) &BCM283X_MU_LSR_TX_EMPTY ))return -EAGAIN ;
@@ -115,9 +123,15 @@ static int bcm283x_mu_serial_putc(struct udevice *dev, const char data)static int bcm283x_mu_serial_pending (struct udevice *dev,bool input) { +struct bcm283x_mu_serial_platdata *plat =dev_get_platdata (dev);struct bcm283x_mu_priv *priv =dev_get_priv (dev);struct bcm283x_mu_regs *regs = priv->regs; -unsigned int lsr =readl (®s->lsr); +unsigned int lsr; + +if (plat->disabled) +return 0 ; + + lsr =readl (®s->lsr);if (input) {WATCHDOG_RESET ();
Signature · 1 line
2.6.2
PATCH 7/9 serial: bcm283x_mu: support disabling after initialization
Quoted 8 lines · Fabian Vogt
For the Raspberry Pi 3 it needs to be possible to disable the serial device after initialization happens, as only after the GPIO device is available it is known whether the mini uart is usable.
Signed-off-by Fabian Vogt <[email protected]>--- drivers/serial/serial_bcm283x_mu.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)
PATCH 7/9 serial: bcm283x_mu: support disabling after initialization
In reply to Fabian VogtQuoted 6 lines · Fabian Vogt
For the Raspberry Pi 3 it needs to be possible to disable the serial device after initialization happens, as only after the GPIO device is available it is known whether the mini uart is usable.
Signed-off-by Fabian Vogt <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161129/40a2046d/attachment.sig>
PATCH 8/9 board: rpi: move uart deactivation to board_init
In reply to Fabian VogtWhen using OF_CONTROL, the disabled value of the mini UART platdata gets reset after board_early_init_f. So move detection and disabling to board_init and remove board_early_init_f.
This uses the first device using the mini uart driver, as this method works reliably with different device trees or even no device tree at all.
--- board/raspberrypi/rpi/rpi.c | 40 ++++++++++++++++++++++++++-------------- include/configs/rpi.h | 1 - 2 files changed, 26 insertions(+), 15 deletions(-)
board/raspberrypi/rpi/rpi.c +26 -14
@@ -443,15 +443,6 @@ static void get_board_rev(void)printf ("RPI %s (0x%x)\n" , model->name, revision); } -int board_init (void ) -{ -get_board_rev (); - - gd->bd->bi_boot_params =0x100 ; - -return power_on_module (BCM2835_MBOX_POWER_DEVID_USB_HCD ); -} -#ifndef CONFIG_PL01X_SERIAL static bool rpi_is_serial_active (void ) {
@@ -471,17 +462,38 @@ static bool rpi_is_serial_active(void) return true; } + +/* Disable mini-UART I/O if it's not pinmuxed to our pins. +* The firmware only enables it if explicitly done in config.txt: enable_uart=1 +*/ +static void rpi_disable_inactive_uart (void ) +{ +struct udevice *dev; +struct bcm283x_mu_serial_platdata *plat; + +if (uclass_get_device_by_driver (UCLASS_SERIAL , +DM_GET_DRIVER (serial_bcm283x_mu), + &dev) || !dev) +return ; + +if (!rpi_is_serial_active ()) { + plat =dev_get_platdata (dev); + plat->disabled = true; + } +}#endif -int board_early_init_f (void ) +int board_init (void ) {#ifndef CONFIG_PL01X_SERIAL -/* Disable mini-UART I/O if it's not pinmuxed to our pins */ -if (!rpi_is_serial_active ()) - serial_platdata.disabled = true; +rpi_disable_inactive_uart ();#endif -return 0 ; +get_board_rev (); + + gd->bd->bi_boot_params =0x100 ; + +return power_on_module (BCM2835_MBOX_POWER_DEVID_USB_HCD ); }int board_mmc_init (bd_t *bis)
include/configs/rpi.h +0 -1
@@ -16,7 +16,6 @@/* Architecture, CPU, etc.*/ #define CONFIG_ARCH_CPU_INIT -#define CONFIG_BOARD_EARLY_INIT_F /* Use SoC timer for AArch32, but architected timer for AArch64 */ #ifndef CONFIG_ARM64
Signature · 1 line
2.6.2
PATCH 8/9 board: rpi: move uart deactivation to board_init
Quoted 11 lines · Fabian Vogt
When using
OF_CONTROL, the disabled value of the mini UART platdata gets reset afterboard_early_init_f. So move detection and disabling toboard_initand removeboard_early_init_f.
This uses the first device using the mini uart driver, as this method works reliably with different device trees or even no device tree at all.Signed-off-by Fabian Vogt <[email protected]>--- board/raspberrypi/rpi/rpi.c | 40 ++++++++++++++++++++++++++-------------- include/configs/rpi.h | 1 - 2 files changed, 26 insertions(+), 15 deletions(-)
PATCH 8/9 board: rpi: move uart deactivation to board_init
In reply to Fabian VogtQuoted 8 lines · Fabian Vogt
When using
OF_CONTROL, the disabled value of the mini UART platdata gets reset afterboard_early_init_f. So move detection and disabling toboard_initand removeboard_early_init_f.
This uses the first device using the mini uart driver, as this method works reliably with different device trees or even no device tree at all.Signed-off-by Fabian Vogt <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161129/ebf56eee/attachment.sig>
PATCH 9/9 ARM: bcm283x: use OF_CONTROL for bcm283x
In reply to Fabian VogtThis patch removes use of U_BOOT_DEVICE in board/raspberrypi/rpi/rpi.c, enables OF_CONTROL in the config and adjusts the rpi_*defconfig configs.
--- arch/arm/Kconfig | 1 + board/raspberrypi/rpi/rpi.c | 37 ------------------------------------- configs/rpi_2_defconfig | 2 ++ configs/rpi_3_32b_defconfig | 2 ++ configs/rpi_3_defconfig | 2 ++ configs/rpi_defconfig | 2 ++ 6 files changed, 9 insertions(+), 37 deletions(-)
arch/arm/Kconfig +1 -0
@@ -316,6 +316,7 @@ config ARCH_BCM283X select DM select DM_SERIAL select DM_GPIO + select OF_CONTROL config TARGET_VEXPRESS_CA15_TC2 bool "Support vexpress_ca15_tc2"
board/raspberrypi/rpi/rpi.c +0 -37
@@ -17,7 +17,6 @@#include <asm/arch/mbox.h> #include <asm/arch/sdhci.h> #include <asm/global_data.h> -#include <dm/platform_data/serial_pl01x.h> #include <dm/platform_data/serial_bcm283x_mu.h> #ifdef CONFIG_ARM64 #include <asm/armv8/mmu.h>
@@ -25,42 +24,6 @@DECLARE_GLOBAL_DATA_PTR ; -static const struct bcm2835_gpio_platdata gpio_platdata = { - .base =BCM2835_GPIO_BASE , -}; - -U_BOOT_DEVICE (bcm2835_gpios) = { - .name ="gpio_bcm2835" , - .platdata = &gpio_platdata, -}; - -#ifdef CONFIG_PL01X_SERIAL -static const struct pl01x_serial_platdata serial_platdata = { -#ifndef CONFIG_BCM2835 - .base =0x3f201000 , -#else - .base =0x20201000 , -#endif - .type =TYPE_PL011 , - .skip_init = true, -}; - -U_BOOT_DEVICE (bcm2835_serials) = { - .name ="serial_pl01x" , - .platdata = &serial_platdata, -}; -#else -static struct bcm283x_mu_serial_platdata serial_platdata = { - .base =0x3f215040 , - .clock =250000000 , - .skip_init = true, -}; - -U_BOOT_DEVICE (bcm2837_serials) = { - .name ="serial_bcm283x_mu" , - .platdata = &serial_platdata, -}; -#endif struct msg_get_arm_mem {struct bcm2835_mbox_hdr hdr;
configs/rpi_2_defconfig +2 -0
@@ -1,6 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_BCM283X=y CONFIG_TARGET_RPI_2=y +CONFIG_DEFAULT_DEVICE_TREE="bcm2836-rpi-2-b" +CONFIG_OF_EMBED=y CONFIG_OF_BOARD_SETUP=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="U-Boot> "
configs/rpi_3_32b_defconfig +2 -0
@@ -2,6 +2,8 @@ CONFIG_ARM=y CONFIG_ARCH_BCM283X=y CONFIG_TARGET_RPI_3_32B=y CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b" +CONFIG_OF_EMBED=y CONFIG_OF_BOARD_SETUP=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="U-Boot> "
configs/rpi_3_defconfig +2 -0
@@ -2,6 +2,8 @@ CONFIG_ARM=y CONFIG_ARCH_BCM283X=y CONFIG_TARGET_RPI_3=y CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b" +CONFIG_OF_EMBED=y CONFIG_OF_BOARD_SETUP=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="U-Boot> "
configs/rpi_defconfig +2 -0
@@ -1,6 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_BCM283X=y CONFIG_TARGET_RPI=y +CONFIG_DEFAULT_DEVICE_TREE="bcm2835-rpi-b" +CONFIG_OF_EMBED=y CONFIG_OF_BOARD_SETUP=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="U-Boot> "
Signature · 1 line
2.6.2
PATCH 9/9 ARM: bcm283x: use OF_CONTROL for bcm283x
Quoted 4 lines · Fabian Vogt
This patch removes use of
U_BOOT_DEVICEinboard/raspberrypi/rpi/rpi.c, enablesOF_CONTROLin the config and adjusts the rpi_*defconfig configs.Signed-off-by Fabian Vogt <[email protected]>
Quoted 8 lines
--- arch/arm/Kconfig | 1 + board/raspberrypi/rpi/rpi.c | 37 ------------------------------------- configs/rpi_2_defconfig | 2 ++ configs/rpi_3_32b_defconfig | 2 ++ configs/rpi_3_defconfig | 2 ++ configs/rpi_defconfig | 2 ++ 6 files changed, 9 insertions(+), 37 deletions(-)
PATCH 9/9 ARM: bcm283x: use OF_CONTROL for bcm283x
In reply to Fabian VogtQuoted 5 lines · Fabian Vogt
This patch removes use of
U_BOOT_DEVICEinboard/raspberrypi/rpi/rpi.c, enablesOF_CONTROLin the config and adjusts the rpi_*defconfig configs.Signed-off-by Fabian Vogt <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161129/b6a09b0c/attachment.sig>
cover Switch bcm283x platform to use OF_CONTROL
In reply to Fabian VogtQuoted 4 lines · Fabian Vogt
This patch series modifies the used drivers to work with
OF_CONTROLand switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.
Is there a user-visible or developer-visible benefit to this change? In general, converting to use DT to instantiate devices simply ends up using more code (and hence complexity and time) to get to the exact same state afterwards.
cover Switch bcm283x platform to use OF_CONTROL
Hi,
Am Mittwoch, 5. Oktober 2016, 09:54:46 CEST schrieb Stephen Warren:
Quoted 10 lines · Fabian Vogt
Quoted 4 lines
This patch series modifies the used drivers to work with
OF_CONTROLand switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.Is there a user-visible or developer-visible benefit to this change? In general, converting to use DT to instantiate devices simply ends up using more code (and hence complexity and time) to get to the exact same state afterwards.
There are various reasons, like:
- The device tree describes the platform, so it can also be used by the linux kernel for configuration (no separate dtb needed)
- Properties are not hardcoded in the u-boot code
- Slightly different hardware deviations do not require significant code changes (like #ifdef or even new platdatas), just a new dts and Kconfig adjustments
It's also mentioned in Simon Glass's talk about DM:
https://events.linuxfoundation.org/sites/events/files/slides/Order%20at%20last%20-%20U-Boot%20driver%20model%20slides%20(2).pdf
cover Switch bcm283x platform to use OF_CONTROL
+Tom too
Quoted 27 lines · Fabian Vogt
Hi,
Am Mittwoch, 5. Oktober 2016, 09:54:46 CEST schrieb Stephen Warren:
Quoted 10 lines · Fabian Vogt
Quoted 4 lines
This patch series modifies the used drivers to work with
OF_CONTROLand switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.Is there a user-visible or developer-visible benefit to this change? In general, converting to use DT to instantiate devices simply ends up using more code (and hence complexity and time) to get to the exact same state afterwards.
There are various reasons, like:
- The device tree describes the platform, so it can also be used by the linux kernel for configuration (no separate dtb needed)
- Properties are not hardcoded in the u-boot code
- Slightly different hardware deviations do not require significant code changes (like #ifdef or even new platdatas), just a new dts andKconfigadjustmentsIt's also mentioned in Simon Glass's talk about DM:
https://events.linuxfoundation.org/sites/events/files/slides/Order%20at%20last%20-%20U-Boot%20driver%20model%20slides%20(2).pdf
cover Switch bcm283x platform to use OF_CONTROL
In reply to Fabian VogtQuoted 18 lines
Am 05.10.2016 um 18:48 schrieb Fabian Vogt <[email protected]>:
Hi,
Am Mittwoch, 5. Oktober 2016, 09:54:46 CEST schrieb Stephen Warren:
Quoted 10 lines · Fabian Vogt
Quoted 4 lines
This patch series modifies the used drivers to work with
OF_CONTROLand switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.Is there a user-visible or developer-visible benefit to this change? In general, converting to use DT to instantiate devices simply ends up using more code (and hence complexity and time) to get to the exact same state afterwards.
Quoted 4 lines
There are various reasons, like:
- The device tree describes the platform, so it can also be used by the linux kernel for configuration (no separate dtb needed)
With a bit of lobbying, we might even be able to get a working dt from the rpi firmware. That again would enable awesome things like hat support in u-boot :).
Alex
cover Switch bcm283x platform to use OF_CONTROL
Quoted 16 lines · Alexander Graf
Quoted 16 lines
Am 05.10.2016 um 18:48 schrieb Fabian Vogt <[email protected]>:
Hi,
Am Mittwoch, 5. Oktober 2016, 09:54:46 CEST schrieb Stephen Warren:
Quoted 10 lines · Fabian Vogt
Quoted 4 lines
This patch series modifies the used drivers to work with
OF_CONTROLand switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.Is there a user-visible or developer-visible benefit to this change? In general, converting to use DT to instantiate devices simply ends up using more code (and hence complexity and time) to get to the exact same state afterwards.
Quoted 8 lines
Quoted 4 lines
There are various reasons, like:
- The device tree describes the platform, so it can also be used by the linux kernel for configuration (no separate dtb needed)
With a bit of lobbying, we might even be able to get a working dt from the rpi firmware. That again would enable awesome things like hat support in u-boot :).
I can't imagine the firmware handing any DT off to the kernel other than the one that's being shipped from whatever kernel is being loaded. Being able to update the DT in lockstep with the kernel is very much part of their process. (This makes linux insisting that DT is ABI that must maintain backwards compat quite painful for upstreaming)
Given that the firmware already hands the kernel's DT back to the
kernel, it seems like we should be able to load the kernel's DT too if
we wanted that.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 800 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161006/28ff970d/attachment.sig>
cover Switch bcm283x platform to use OF_CONTROL
Quoted 33 lines · On Donnerstag, 6. Oktober 2016 12:32:12 CEST Eric Anholt wrote:
Quoted 18 lines · Alexander Graf
Quoted 18 lines
Am 05.10.2016 um 18:48 schrieb Fabian Vogt <[email protected]>:
Hi,
Am Mittwoch, 5. Oktober 2016, 09:54:46 CEST schrieb Stephen Warren:
Quoted 10 lines · Fabian Vogt
Quoted 4 lines
This patch series modifies the used drivers to work with
OF_CONTROLand switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.Is there a user-visible or developer-visible benefit to this change? In general, converting to use DT to instantiate devices simply ends up using more code (and hence complexity and time) to get to the exact same state afterwards.
There are various reasons, like:
Quoted 7 lines
Quoted 3 lines
- The device tree describes the platform, so it can also be used by the
linux kernel for configuration (no separate dtb needed)
With a bit of lobbying, we might even be able to get a working dt from the rpi firmware. That again would enable awesome things like hat support in u-boot :).
I can't imagine the firmware handing any DT off to the kernel other than the one that's being shipped from whatever kernel is being loaded. Being able to update the DT in lockstep with the kernel is very much part of their process. (This makes linux insisting that DT is ABI that must maintain backwards compat quite painful for upstreaming)
Quoted 3 lines
Given that the firmware already hands the kernel's DT back to the kernel, it seems like we should be able to load the kernel's DT too if we wanted that.
You mean the DT modified by the firmware according to config.txt, at least applying the specified DT overlays?
Kind regards,
Stefan
Signature · 3 lines
Stefan Br?ns / Bergstra?e 21 / 52062 Aachen home: +49 241 53809034 mobile: +49 151 50412019 work: +49 2405 49936-424
cover Switch bcm283x platform to use OF_CONTROL
Quoted 34 lines · Stefan Bruens
Quoted 33 lines · On Donnerstag, 6. Oktober 2016 12:32:12 CEST Eric Anholt wrote:
Quoted 18 lines · Alexander Graf
Quoted 18 lines
Am 05.10.2016 um 18:48 schrieb Fabian Vogt <[email protected]>:
Hi,
Am Mittwoch, 5. Oktober 2016, 09:54:46 CEST schrieb Stephen Warren:
Quoted 10 lines · Fabian Vogt
Quoted 4 lines
This patch series modifies the used drivers to work with
OF_CONTROLand switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.Is there a user-visible or developer-visible benefit to this change? In general, converting to use DT to instantiate devices simply ends up using more code (and hence complexity and time) to get to the exact same state afterwards.
There are various reasons, like:
Quoted 7 lines
Quoted 3 lines
- The device tree describes the platform, so it can also be used by the
linux kernel for configuration (no separate dtb needed)
With a bit of lobbying, we might even be able to get a working dt from the rpi firmware. That again would enable awesome things like hat support in u-boot :).
I can't imagine the firmware handing any DT off to the kernel other than the one that's being shipped from whatever kernel is being loaded. Being able to update the DT in lockstep with the kernel is very much part of their process. (This makes linux insisting that DT is ABI that must maintain backwards compat quite painful for upstreaming)
Quoted 6 lines
Quoted 3 lines
Given that the firmware already hands the kernel's DT back to the kernel, it seems like we should be able to load the kernel's DT too if we wanted that.
You mean the DT modified by the firmware according to config.txt, at least applying the specified DT overlays?
Yeah, that.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 800 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161006/182a5e16/attachment.sig>
cover Switch bcm283x platform to use OF_CONTROL
Quoted 36 lines · Eric Anholt
Quoted 34 lines · Stefan Bruens
Quoted 33 lines · On Donnerstag, 6. Oktober 2016 12:32:12 CEST Eric Anholt wrote:
Quoted 18 lines · Alexander Graf
Quoted 18 lines
Am 05.10.2016 um 18:48 schrieb Fabian Vogt <[email protected]>:
Hi,
Am Mittwoch, 5. Oktober 2016, 09:54:46 CEST schrieb Stephen Warren:
Quoted 10 lines · Fabian Vogt
Quoted 4 lines
This patch series modifies the used drivers to work with
OF_CONTROLand switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.Is there a user-visible or developer-visible benefit to this change? In general, converting to use DT to instantiate devices simply ends up using more code (and hence complexity and time) to get to the exact same state afterwards.
There are various reasons, like:
Quoted 7 lines
Quoted 3 lines
- The device tree describes the platform, so it can also be used by the
linux kernel for configuration (no separate dtb needed)
With a bit of lobbying, we might even be able to get a working dt from the rpi firmware. That again would enable awesome things like hat support in u-boot :).
I can't imagine the firmware handing any DT off to the kernel other than the one that's being shipped from whatever kernel is being loaded. Being able to update the DT in lockstep with the kernel is very much part of their process. (This makes linux insisting that DT is ABI that must maintain backwards compat quite painful for upstreaming)
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Given that the firmware already hands the kernel's DT back to the kernel, it seems like we should be able to load the kernel's DT too if we wanted that.
You mean the DT modified by the firmware according to config.txt, at least applying the specified DT overlays?
Yeah, that.
That would also be a good thing, yes.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161007/69ea4530/attachment.sig>
cover Switch bcm283x platform to use OF_CONTROL
Quoted 46 lines · On Freitag, 7. Oktober 2016 16:42:40 CEST Tom Rini wrote:
Quoted 45 lines · Eric Anholt
Quoted 44 lines · Stefan Bruens
Quoted 42 lines · On Donnerstag, 6. Oktober 2016 12:32:12 CEST Eric Anholt wrote:
Quoted 24 lines · Alexander Graf
Quoted 24 lines
Am 05.10.2016 um 18:48 schrieb Fabian Vogt <[email protected]>:
Hi,
Am Mittwoch, 5. Oktober 2016, 09:54:46 CEST schrieb Stephen Warren:
Quoted 7 lines · Fabian Vogt
Quoted 5 lines
This patch series modifies the used drivers to work with
OF_CONTROL
and switches the board code and configs to use it. The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.Quoted 6 lines
Is there a user-visible or developer-visible benefit to this change? In
general, converting to use DT to instantiate devices simply ends up using more code (and hence complexity and time) to get to the exact same
state afterwards.There are various reasons, like:
- The device tree describes the platform, so it can also be used by the
Quoted 6 lines
Quoted 1 line
linux kernel for configuration (no separate dtb needed)
With a bit of lobbying, we might even be able to get a working dt from
the rpi firmware. That again would enable awesome things like hat support in u-boot :).I can't imagine the firmware handing any DT off to the kernel other than
the one that's being shipped from whatever kernel is being loaded. Being able to update the DT in lockstep with the kernel is very much part of their process. (This makes linux insisting that DT is ABI that must maintain backwards compat quite painful for upstreaming)Given that the firmware already hands the kernel's DT back to the kernel, it seems like we should be able to load the kernel's DT too if we wanted that.
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
You mean the DT modified by the firmware according to config.txt, at least
applying the specified DT overlays?Yeah, that.
That would also be a good thing, yes.
My primary concern here was the bcm2708-rpi-b.dtb vs bcm2835-rpi-b.dtb devicetrees, i.e. the one distributed by the RPi foundation vs the upstream kernel one.
This concern may no longer be valid, https://www.raspberrypi.org/
documentation/configuration/device-tree.md#part3 says:
---
The loader now supports builds using bcm2835_defconfig, which selects the upstreamed BCM2835 support. This configuration will cause bcm2835-rpi-b.dtb and bcm2835-rpi-b-plus.dtb to be built. If these files are copied with the kernel, and if the kernel has been tagged by a recent mkknlimg, then the loader will attempt to load one of those DTBs by default.
---
Open points:
1. is u-boot.bin tagged in an appropriate way (i.e. as done by mkknlimg)?
2. what about the other RPis, i.e. RPi2, RPI3, RPi1-CM?
Kind regards,
Stefan
Signature · 3 lines
Stefan Br?ns / Bergstra?e 21 / 52062 Aachen home: +49 241 53809034 mobile: +49 151 50412019 work: +49 2405 49936-424
cover Switch bcm283x platform to use OF_CONTROL
In reply to Fabian VogtHi,
any news on this? As far as I can tell nothing happened after my last reply to this thread, so: Ping!
Thanks,
Fabian
Am Montag, 26. September 2016, 14:26:42 CET schrieben Sie:
Quoted 73 lines
This patch series modifies the used drivers to work with
OF_CONTROLand switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.Fabian Vogt (9):
gpio: bcm2835: add device tree support
serial:bcm283x_mu: add device tree support
serial: pl01x: exposeskip_initplatdata option in DT
fdt: add dt-bindings for bcm2835
fdt: import bcm283x device tree sources from the linux kernel tree
fdt: adjust bcm283x device tree for u-boot
serial:bcm283x_mu: support disabling after initialization
board: rpi: move uart deactivation toboard_init
ARM: bcm283x: useOF_CONTROLfor bcm283xarch/arm/Kconfig | 1 + arch/arm/dts/Makefile | 9 + arch/arm/dts/bcm2835-rpi-a-plus.dts | 35 +++ arch/arm/dts/bcm2835-rpi-a.dts | 28 ++ arch/arm/dts/bcm2835-rpi-b-plus.dts | 36 +++ arch/arm/dts/bcm2835-rpi-b-rev2.dts | 29 ++ arch/arm/dts/bcm2835-rpi-b.dts | 23 ++ arch/arm/dts/bcm2835-rpi.dtsi | 86 ++++++ arch/arm/dts/bcm2835.dtsi | 25 ++ arch/arm/dts/bcm2836-rpi-2-b.dts | 40 +++ arch/arm/dts/bcm2836.dtsi | 78 +++++ arch/arm/dts/bcm2837-rpi-3-b.dts | 30 ++ arch/arm/dts/bcm2837.dtsi | 76 +++++ arch/arm/dts/bcm283x-rpi-smsc9512.dtsi | 19 ++ arch/arm/dts/bcm283x-rpi-smsc9514.dtsi | 19 ++ arch/arm/dts/bcm283x-uboot.dtsi | 22 ++ arch/arm/dts/bcm283x.dtsi | 323 +++++++++++++++++++++ board/raspberrypi/rpi/rpi.c | 77 ++--- configs/rpi_2_defconfig | 2 + configs/rpi_3_32b_defconfig | 2 + configs/rpi_3_defconfig | 2 + configs/rpi_defconfig | 2 + doc/device-tree-bindings/gpio/bcm2835-gpio.txt | 5 + .../serial/bcm2835-aux-uart.txt | 10 + doc/device-tree-bindings/serial/pl01x.txt | 3 + drivers/gpio/bcm2835_gpio.c | 24 ++ drivers/serial/serial_bcm283x_mu.c | 46 ++- drivers/serial/serial_pl01x.c | 2 + include/configs/rpi.h | 1 - include/dt-bindings/clock/bcm2835-aux.h | 17 ++ include/dt-bindings/clock/bcm2835.h | 66 +++++ include/dt-bindings/pinctrl/bcm2835.h | 27 ++ include/dt-bindings/power/raspberrypi-power.h | 41 +++ 33 files changed, 1152 insertions(+), 54 deletions(-) create mode 100644 arch/arm/dts/bcm2835-rpi-a-plus.dts create mode 100644 arch/arm/dts/bcm2835-rpi-a.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b-plus.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b-rev2.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b.dts create mode 100644 arch/arm/dts/bcm2835-rpi.dtsi create mode 100644 arch/arm/dts/bcm2835.dtsi create mode 100644 arch/arm/dts/bcm2836-rpi-2-b.dts create mode 100644 arch/arm/dts/bcm2836.dtsi create mode 100644 arch/arm/dts/bcm2837-rpi-3-b.dts create mode 100644 arch/arm/dts/bcm2837.dtsi create mode 100644 arch/arm/dts/bcm283x-rpi-smsc9512.dtsi create mode 100644 arch/arm/dts/bcm283x-rpi-smsc9514.dtsi create mode 100644 arch/arm/dts/bcm283x-uboot.dtsi create mode 100644 arch/arm/dts/bcm283x.dtsi create mode 100644 doc/device-tree-bindings/gpio/bcm2835-gpio.txt create mode 100644 doc/device-tree-bindings/serial/bcm2835-aux-uart.txt create mode 100644 include/dt-bindings/clock/bcm2835-aux.h create mode 100644 include/dt-bindings/clock/bcm2835.h create mode 100644 include/dt-bindings/pinctrl/bcm2835.h create mode 100644 include/dt-bindings/power/raspberrypi-power.h
cover Switch bcm283x platform to use OF_CONTROL
Hi,
Quoted 4 lines · Fabian Vogt
Hi,
any news on this? As far as I can tell nothing happened after my last reply to this thread, so: Ping!
Adding Tom - the patches are assigned to him in Patchwork.
- Simon
Quoted 84 lines
Thanks,
FabianAm Montag, 26. September 2016, 14:26:42 CET schrieben Sie:
Quoted 63 lines
This patch series modifies the used drivers to work with
OF_CONTROLand switches the board code and configs to use it.
The added device trees are directly from the linux kernel tree and can thus be used for booting the (upstream) kernel.Fabian Vogt (9):
gpio: bcm2835: add device tree support
serial:bcm283x_mu: add device tree support
serial: pl01x: exposeskip_initplatdata option in DT
fdt: add dt-bindings for bcm2835
fdt: import bcm283x device tree sources from the linux kernel tree
fdt: adjust bcm283x device tree for u-boot
serial:bcm283x_mu: support disabling after initialization
board: rpi: move uart deactivation toboard_init
ARM: bcm283x: useOF_CONTROLfor bcm283xarch/arm/Kconfig | 1 + arch/arm/dts/Makefile | 9 + arch/arm/dts/bcm2835-rpi-a-plus.dts | 35 +++ arch/arm/dts/bcm2835-rpi-a.dts | 28 ++ arch/arm/dts/bcm2835-rpi-b-plus.dts | 36 +++ arch/arm/dts/bcm2835-rpi-b-rev2.dts | 29 ++ arch/arm/dts/bcm2835-rpi-b.dts | 23 ++ arch/arm/dts/bcm2835-rpi.dtsi | 86 ++++++ arch/arm/dts/bcm2835.dtsi | 25 ++ arch/arm/dts/bcm2836-rpi-2-b.dts | 40 +++ arch/arm/dts/bcm2836.dtsi | 78 +++++ arch/arm/dts/bcm2837-rpi-3-b.dts | 30 ++ arch/arm/dts/bcm2837.dtsi | 76 +++++ arch/arm/dts/bcm283x-rpi-smsc9512.dtsi | 19 ++ arch/arm/dts/bcm283x-rpi-smsc9514.dtsi | 19 ++ arch/arm/dts/bcm283x-uboot.dtsi | 22 ++ arch/arm/dts/bcm283x.dtsi | 323 +++++++++++++++++++++ board/raspberrypi/rpi/rpi.c | 77 ++--- configs/rpi_2_defconfig | 2 + configs/rpi_3_32b_defconfig | 2 + configs/rpi_3_defconfig | 2 + configs/rpi_defconfig | 2 + doc/device-tree-bindings/gpio/bcm2835-gpio.txt | 5 + .../serial/bcm2835-aux-uart.txt | 10 + doc/device-tree-bindings/serial/pl01x.txt | 3 + drivers/gpio/bcm2835_gpio.c | 24 ++ drivers/serial/serial_bcm283x_mu.c | 46 ++- drivers/serial/serial_pl01x.c | 2 + include/configs/rpi.h | 1 - include/dt-bindings/clock/bcm2835-aux.h | 17 ++ include/dt-bindings/clock/bcm2835.h | 66 +++++ include/dt-bindings/pinctrl/bcm2835.h | 27 ++ include/dt-bindings/power/raspberrypi-power.h | 41 +++ 33 files changed, 1152 insertions(+), 54 deletions(-) create mode 100644 arch/arm/dts/bcm2835-rpi-a-plus.dts create mode 100644 arch/arm/dts/bcm2835-rpi-a.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b-plus.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b-rev2.dts create mode 100644 arch/arm/dts/bcm2835-rpi-b.dts create mode 100644 arch/arm/dts/bcm2835-rpi.dtsi create mode 100644 arch/arm/dts/bcm2835.dtsi create mode 100644 arch/arm/dts/bcm2836-rpi-2-b.dts create mode 100644 arch/arm/dts/bcm2836.dtsi create mode 100644 arch/arm/dts/bcm2837-rpi-3-b.dts create mode 100644 arch/arm/dts/bcm2837.dtsi create mode 100644 arch/arm/dts/bcm283x-rpi-smsc9512.dtsi create mode 100644 arch/arm/dts/bcm283x-rpi-smsc9514.dtsiQuoted 10 lines
create mode 100644 arch/arm/dts/bcm283x-uboot.dtsi create mode 100644 arch/arm/dts/bcm283x.dtsi create mode 100644 doc/device-tree-bindings/gpio/bcm2835-gpio.txt create mode 100644 doc/device-tree-bindings/serial/bcm2835-aux-uart.txt create mode 100644 include/dt-bindings/clock/bcm2835-aux.h create mode 100644 include/dt-bindings/clock/bcm2835.h create mode 100644 include/dt-bindings/pinctrl/bcm2835.h create mode 100644 include/dt-bindings/power/raspberrypi-power.h_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot