Re: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-15 Thread Nicolas Ferre

On 15/06/2018 at 12:01, Ben Whitten wrote:

On 14/06/2018 at 10:51, Ben Whitten wrote:

Signed-off-by: Ben Whitten 
---
   arch/arm/boot/dts/Makefile|   3 +-
   arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
   arch/arm/boot/dts/at91-wb45n.dtsi | 169

++

   3 files changed, 237 insertions(+), 1 deletion(-)
   create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
   create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 7e24249..1ee94ee 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
at91sam9g25ek.dtb \
at91sam9g35ek.dtb \
at91sam9x25ek.dtb \
-   at91sam9x35ek.dtb
+   at91sam9x35ek.dtb \
+   at91-wb45n.dtb
   dtb-$(CONFIG_SOC_SAM_V7) += \
at91-kizbox2.dtb \
at91-nattis-2-natte-2.dtb \
diff --git a/arch/arm/boot/dts/at91-wb45n.dts b/arch/arm/boot/dts/at91-

wb45n.dts

new file mode 100644
index 000..4e88815
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dts
@@ -0,0 +1,66 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dts - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+*/
+/dts-v1/;
+#include "at91-wb45n.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5",

"atmel,at91sam9";

"laird" prefix must be added to
Documentation/devicetree/bindings/vendor-prefixes.txt before using it:
you can do a little patch as a first patch of this series.
Otherwise it will trigger a warning message while running
scripts/checkpatch.pl on top of your patch.



+
+   ahb {
+   apb {
+   watchdog@fe40 {
+   status = "okay";
+   };
+   };
+   };
+
+   gpio_keys {
+   compatible = "gpio-keys";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   irqbtn@pb18 {


I'm not sure that the @pb18 can be used like this. This address
extension must be used in a "reg" property in the node. dtc used with
warning switch on might trigger an error for this.


+   label = "IRQBTN";
+   linux,code = <99>;
+   gpios = < 18 GPIO_ACTIVE_LOW>;
+   gpio-key,wakeup = <1>;
+   };
+   };
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
diff --git a/arch/arm/boot/dts/at91-wb45n.dtsi b/arch/arm/boot/dts/at91-

wb45n.dtsi

new file mode 100644
index 000..2fa58e2
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dtsi
@@ -0,0 +1,169 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dtsi - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+ */
+
+#include "at91sam9g25.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5",

"atmel,at91sam9";

+
+   chosen {
+   bootargs = "ubi.mtd=6 root=ubi0:rootfs rootfstype=ubifs

rw";

+   stdout-path = "serial0:115200n8";
+   };
+
+   memory {
+   reg = <0x2000 0x400>;
+   };
+
+   ahb {
+   apb {
+   shdwc@fe10 {


I would advice you to take exactly the node name:
"shutdown-controller@fe10"; Anyway, it will go away after you use
the label notation as advised by Alexandre.


+   atmel,wakeup-mode = "low";
+   };
+
+   pinctrl@f400 {
+   usb2 {
+   pinctrl_board_usb2: usb2-board {
+   atmel,pins =
+   
AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PB11 gpio
vbus sense, deglitch */

+   };
+   };
+   };
+
+   rstc@fe00 {
+   compatible = "atmel,sama5d3-rstc";
+   };


I don't think this node is needed.


I dug through our old code reviews and found this message relating to testing
reboot over several thousand times in our testbed:
After the slow clock has been enabled on the reset controller via upstream
changes, the dram disable access and power down code is causing the SAM9G25
to hang occasionally on reboot.  Using the simple reset function provided
for SAMA5D3 instead.

So it appears to be a workaround for a bug that existed ~2 years ago, 

Re: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-15 Thread Nicolas Ferre

On 15/06/2018 at 12:01, Ben Whitten wrote:

On 14/06/2018 at 10:51, Ben Whitten wrote:

Signed-off-by: Ben Whitten 
---
   arch/arm/boot/dts/Makefile|   3 +-
   arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
   arch/arm/boot/dts/at91-wb45n.dtsi | 169

++

   3 files changed, 237 insertions(+), 1 deletion(-)
   create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
   create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 7e24249..1ee94ee 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
at91sam9g25ek.dtb \
at91sam9g35ek.dtb \
at91sam9x25ek.dtb \
-   at91sam9x35ek.dtb
+   at91sam9x35ek.dtb \
+   at91-wb45n.dtb
   dtb-$(CONFIG_SOC_SAM_V7) += \
at91-kizbox2.dtb \
at91-nattis-2-natte-2.dtb \
diff --git a/arch/arm/boot/dts/at91-wb45n.dts b/arch/arm/boot/dts/at91-

wb45n.dts

new file mode 100644
index 000..4e88815
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dts
@@ -0,0 +1,66 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dts - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+*/
+/dts-v1/;
+#include "at91-wb45n.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5",

"atmel,at91sam9";

"laird" prefix must be added to
Documentation/devicetree/bindings/vendor-prefixes.txt before using it:
you can do a little patch as a first patch of this series.
Otherwise it will trigger a warning message while running
scripts/checkpatch.pl on top of your patch.



+
+   ahb {
+   apb {
+   watchdog@fe40 {
+   status = "okay";
+   };
+   };
+   };
+
+   gpio_keys {
+   compatible = "gpio-keys";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   irqbtn@pb18 {


I'm not sure that the @pb18 can be used like this. This address
extension must be used in a "reg" property in the node. dtc used with
warning switch on might trigger an error for this.


+   label = "IRQBTN";
+   linux,code = <99>;
+   gpios = < 18 GPIO_ACTIVE_LOW>;
+   gpio-key,wakeup = <1>;
+   };
+   };
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
diff --git a/arch/arm/boot/dts/at91-wb45n.dtsi b/arch/arm/boot/dts/at91-

wb45n.dtsi

new file mode 100644
index 000..2fa58e2
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dtsi
@@ -0,0 +1,169 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dtsi - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+ */
+
+#include "at91sam9g25.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5",

"atmel,at91sam9";

+
+   chosen {
+   bootargs = "ubi.mtd=6 root=ubi0:rootfs rootfstype=ubifs

rw";

+   stdout-path = "serial0:115200n8";
+   };
+
+   memory {
+   reg = <0x2000 0x400>;
+   };
+
+   ahb {
+   apb {
+   shdwc@fe10 {


I would advice you to take exactly the node name:
"shutdown-controller@fe10"; Anyway, it will go away after you use
the label notation as advised by Alexandre.


+   atmel,wakeup-mode = "low";
+   };
+
+   pinctrl@f400 {
+   usb2 {
+   pinctrl_board_usb2: usb2-board {
+   atmel,pins =
+   
AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PB11 gpio
vbus sense, deglitch */

+   };
+   };
+   };
+
+   rstc@fe00 {
+   compatible = "atmel,sama5d3-rstc";
+   };


I don't think this node is needed.


I dug through our old code reviews and found this message relating to testing
reboot over several thousand times in our testbed:
After the slow clock has been enabled on the reset controller via upstream
changes, the dram disable access and power down code is causing the SAM9G25
to hang occasionally on reboot.  Using the simple reset function provided
for SAMA5D3 instead.

So it appears to be a workaround for a bug that existed ~2 years ago, 

RE: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-15 Thread Ben Whitten
> On 14/06/2018 at 10:51, Ben Whitten wrote:
> > Signed-off-by: Ben Whitten 
> > ---
> >   arch/arm/boot/dts/Makefile|   3 +-
> >   arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
> >   arch/arm/boot/dts/at91-wb45n.dtsi | 169
> ++
> >   3 files changed, 237 insertions(+), 1 deletion(-)
> >   create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
> >   create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi
> >
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 7e24249..1ee94ee 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
> > at91sam9g25ek.dtb \
> > at91sam9g35ek.dtb \
> > at91sam9x25ek.dtb \
> > -   at91sam9x35ek.dtb
> > +   at91sam9x35ek.dtb \
> > +   at91-wb45n.dtb
> >   dtb-$(CONFIG_SOC_SAM_V7) += \
> > at91-kizbox2.dtb \
> > at91-nattis-2-natte-2.dtb \
> > diff --git a/arch/arm/boot/dts/at91-wb45n.dts b/arch/arm/boot/dts/at91-
> wb45n.dts
> > new file mode 100644
> > index 000..4e88815
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/at91-wb45n.dts
> > @@ -0,0 +1,66 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * at91-wb45n.dts - Device Tree file for WB45NBT board
> > + *
> > + *  Copyright (C) 2018 Laird
> > + *
> > +*/
> > +/dts-v1/;
> > +#include "at91-wb45n.dtsi"
> > +
> > +/ {
> > +   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
> > +   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5",
> "atmel,at91sam9";
> 
> "laird" prefix must be added to
> Documentation/devicetree/bindings/vendor-prefixes.txt before using it:
> you can do a little patch as a first patch of this series.
> Otherwise it will trigger a warning message while running
> scripts/checkpatch.pl on top of your patch.
> 
> 
> > +
> > +   ahb {
> > +   apb {
> > +   watchdog@fe40 {
> > +   status = "okay";
> > +   };
> > +   };
> > +   };
> > +
> > +   gpio_keys {
> > +   compatible = "gpio-keys";
> > +   #address-cells = <1>;
> > +   #size-cells = <0>;
> > +   irqbtn@pb18 {
> 
> I'm not sure that the @pb18 can be used like this. This address
> extension must be used in a "reg" property in the node. dtc used with
> warning switch on might trigger an error for this.
> 
> > +   label = "IRQBTN";
> > +   linux,code = <99>;
> > +   gpios = < 18 GPIO_ACTIVE_LOW>;
> > +   gpio-key,wakeup = <1>;
> > +   };
> > +   };
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > diff --git a/arch/arm/boot/dts/at91-wb45n.dtsi b/arch/arm/boot/dts/at91-
> wb45n.dtsi
> > new file mode 100644
> > index 000..2fa58e2
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/at91-wb45n.dtsi
> > @@ -0,0 +1,169 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * at91-wb45n.dtsi - Device Tree file for WB45NBT board
> > + *
> > + *  Copyright (C) 2018 Laird
> > + *
> > + */
> > +
> > +#include "at91sam9g25.dtsi"
> > +
> > +/ {
> > +   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
> > +   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5",
> "atmel,at91sam9";
> > +
> > +   chosen {
> > +   bootargs = "ubi.mtd=6 root=ubi0:rootfs rootfstype=ubifs
> rw";
> > +   stdout-path = "serial0:115200n8";
> > +   };
> > +
> > +   memory {
> > +   reg = <0x2000 0x400>;
> > +   };
> > +
> > +   ahb {
> > +   apb {
> > +   shdwc@fe10 {
> 
> I would advice you to take exactly the node name:
> "shutdown-controller@fe10"; Anyway, it will go away after you use
> the label notation as advised by Alexandre.
> 
> > +   atmel,wakeup-mode = "low";
> > +   };
> > +
> > +   pinctrl@f400 {
> > +   usb2 {
> > +   pinctrl_board_usb2: usb2-board {
> > +   atmel,pins =
> > +AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;  /* PB11 gpio
> vbus sense, deglitch */
> > +   };
> > +   };
> > +   };
> > +
> > +   rstc@fe00 {
> > +   compatible = "atmel,sama5d3-rstc";
> > +   };
> 
> I don't think this node is needed.

I dug through our old code reviews and found this message relating to testing
reboot over several thousand times in our testbed:
After the 

RE: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-15 Thread Ben Whitten
> On 14/06/2018 at 10:51, Ben Whitten wrote:
> > Signed-off-by: Ben Whitten 
> > ---
> >   arch/arm/boot/dts/Makefile|   3 +-
> >   arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
> >   arch/arm/boot/dts/at91-wb45n.dtsi | 169
> ++
> >   3 files changed, 237 insertions(+), 1 deletion(-)
> >   create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
> >   create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi
> >
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 7e24249..1ee94ee 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
> > at91sam9g25ek.dtb \
> > at91sam9g35ek.dtb \
> > at91sam9x25ek.dtb \
> > -   at91sam9x35ek.dtb
> > +   at91sam9x35ek.dtb \
> > +   at91-wb45n.dtb
> >   dtb-$(CONFIG_SOC_SAM_V7) += \
> > at91-kizbox2.dtb \
> > at91-nattis-2-natte-2.dtb \
> > diff --git a/arch/arm/boot/dts/at91-wb45n.dts b/arch/arm/boot/dts/at91-
> wb45n.dts
> > new file mode 100644
> > index 000..4e88815
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/at91-wb45n.dts
> > @@ -0,0 +1,66 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * at91-wb45n.dts - Device Tree file for WB45NBT board
> > + *
> > + *  Copyright (C) 2018 Laird
> > + *
> > +*/
> > +/dts-v1/;
> > +#include "at91-wb45n.dtsi"
> > +
> > +/ {
> > +   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
> > +   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5",
> "atmel,at91sam9";
> 
> "laird" prefix must be added to
> Documentation/devicetree/bindings/vendor-prefixes.txt before using it:
> you can do a little patch as a first patch of this series.
> Otherwise it will trigger a warning message while running
> scripts/checkpatch.pl on top of your patch.
> 
> 
> > +
> > +   ahb {
> > +   apb {
> > +   watchdog@fe40 {
> > +   status = "okay";
> > +   };
> > +   };
> > +   };
> > +
> > +   gpio_keys {
> > +   compatible = "gpio-keys";
> > +   #address-cells = <1>;
> > +   #size-cells = <0>;
> > +   irqbtn@pb18 {
> 
> I'm not sure that the @pb18 can be used like this. This address
> extension must be used in a "reg" property in the node. dtc used with
> warning switch on might trigger an error for this.
> 
> > +   label = "IRQBTN";
> > +   linux,code = <99>;
> > +   gpios = < 18 GPIO_ACTIVE_LOW>;
> > +   gpio-key,wakeup = <1>;
> > +   };
> > +   };
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > diff --git a/arch/arm/boot/dts/at91-wb45n.dtsi b/arch/arm/boot/dts/at91-
> wb45n.dtsi
> > new file mode 100644
> > index 000..2fa58e2
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/at91-wb45n.dtsi
> > @@ -0,0 +1,169 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * at91-wb45n.dtsi - Device Tree file for WB45NBT board
> > + *
> > + *  Copyright (C) 2018 Laird
> > + *
> > + */
> > +
> > +#include "at91sam9g25.dtsi"
> > +
> > +/ {
> > +   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
> > +   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5",
> "atmel,at91sam9";
> > +
> > +   chosen {
> > +   bootargs = "ubi.mtd=6 root=ubi0:rootfs rootfstype=ubifs
> rw";
> > +   stdout-path = "serial0:115200n8";
> > +   };
> > +
> > +   memory {
> > +   reg = <0x2000 0x400>;
> > +   };
> > +
> > +   ahb {
> > +   apb {
> > +   shdwc@fe10 {
> 
> I would advice you to take exactly the node name:
> "shutdown-controller@fe10"; Anyway, it will go away after you use
> the label notation as advised by Alexandre.
> 
> > +   atmel,wakeup-mode = "low";
> > +   };
> > +
> > +   pinctrl@f400 {
> > +   usb2 {
> > +   pinctrl_board_usb2: usb2-board {
> > +   atmel,pins =
> > +AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;  /* PB11 gpio
> vbus sense, deglitch */
> > +   };
> > +   };
> > +   };
> > +
> > +   rstc@fe00 {
> > +   compatible = "atmel,sama5d3-rstc";
> > +   };
> 
> I don't think this node is needed.

I dug through our old code reviews and found this message relating to testing
reboot over several thousand times in our testbed:
After the 

Re: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-14 Thread Alexandre Belloni
On 14/06/2018 14:52:25+0200, Nicolas Ferre wrote:
> > +   gpio_keys {
> > +   compatible = "gpio-keys";
> > +   #address-cells = <1>;
> > +   #size-cells = <0>;
> > +   irqbtn@pb18 {
> 
> I'm not sure that the @pb18 can be used like this. This address extension
> must be used in a "reg" property in the node. dtc used with warning switch
> on might trigger an error for this.
> 

Indeed, no unit-address without a reg property.


-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com


Re: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-14 Thread Alexandre Belloni
On 14/06/2018 14:52:25+0200, Nicolas Ferre wrote:
> > +   gpio_keys {
> > +   compatible = "gpio-keys";
> > +   #address-cells = <1>;
> > +   #size-cells = <0>;
> > +   irqbtn@pb18 {
> 
> I'm not sure that the @pb18 can be used like this. This address extension
> must be used in a "reg" property in the node. dtc used with warning switch
> on might trigger an error for this.
> 

Indeed, no unit-address without a reg property.


-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com


Re: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-14 Thread Nicolas Ferre

On 14/06/2018 at 10:51, Ben Whitten wrote:

Signed-off-by: Ben Whitten 
---
  arch/arm/boot/dts/Makefile|   3 +-
  arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
  arch/arm/boot/dts/at91-wb45n.dtsi | 169 ++
  3 files changed, 237 insertions(+), 1 deletion(-)
  create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
  create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 7e24249..1ee94ee 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
at91sam9g25ek.dtb \
at91sam9g35ek.dtb \
at91sam9x25ek.dtb \
-   at91sam9x35ek.dtb
+   at91sam9x35ek.dtb \
+   at91-wb45n.dtb
  dtb-$(CONFIG_SOC_SAM_V7) += \
at91-kizbox2.dtb \
at91-nattis-2-natte-2.dtb \
diff --git a/arch/arm/boot/dts/at91-wb45n.dts b/arch/arm/boot/dts/at91-wb45n.dts
new file mode 100644
index 000..4e88815
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dts
@@ -0,0 +1,66 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dts - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+*/
+/dts-v1/;
+#include "at91-wb45n.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5", 
"atmel,at91sam9";


"laird" prefix must be added to 
Documentation/devicetree/bindings/vendor-prefixes.txt before using it: 
you can do a little patch as a first patch of this series.
Otherwise it will trigger a warning message while running 
scripts/checkpatch.pl on top of your patch.




+
+   ahb {
+   apb {
+   watchdog@fe40 {
+   status = "okay";
+   };
+   };
+   };
+
+   gpio_keys {
+   compatible = "gpio-keys";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   irqbtn@pb18 {


I'm not sure that the @pb18 can be used like this. This address 
extension must be used in a "reg" property in the node. dtc used with 
warning switch on might trigger an error for this.



+   label = "IRQBTN";
+   linux,code = <99>;
+   gpios = < 18 GPIO_ACTIVE_LOW>;
+   gpio-key,wakeup = <1>;
+   };
+   };
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
diff --git a/arch/arm/boot/dts/at91-wb45n.dtsi 
b/arch/arm/boot/dts/at91-wb45n.dtsi
new file mode 100644
index 000..2fa58e2
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dtsi
@@ -0,0 +1,169 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dtsi - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+ */
+
+#include "at91sam9g25.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5", 
"atmel,at91sam9";
+
+   chosen {
+   bootargs = "ubi.mtd=6 root=ubi0:rootfs rootfstype=ubifs rw";
+   stdout-path = "serial0:115200n8";
+   };
+
+   memory {
+   reg = <0x2000 0x400>;
+   };
+
+   ahb {
+   apb {
+   shdwc@fe10 {


I would advice you to take exactly the node name:
"shutdown-controller@fe10"; Anyway, it will go away after you use 
the label notation as advised by Alexandre.



+   atmel,wakeup-mode = "low";
+   };
+
+   pinctrl@f400 {
+   usb2 {
+   pinctrl_board_usb2: usb2-board {
+   atmel,pins =
+   ;/* PB11 gpio vbus sense, 
deglitch */
+   };
+   };
+   };
+
+   rstc@fe00 {
+   compatible = "atmel,sama5d3-rstc";
+   };


I don't think this node is needed.


+
+   };
+   };
+
+   atheros {
+   compatible = "atheros,ath6kl";
+   atheros,board-id = "SD32";
+   };
+};
+
+_xtal {
+   clock-frequency = <32768>;
+};
+
+_xtal {
+   clock-frequency = <1200>;
+};
+
+ {
+   status = "okay";
+   nand_controller: nand-controller {
+   pinctrl-0 = <_nand_cs _nand_rb 
_nand_oe_we>;
+   pinctrl-names = "default";
+   status = "okay";
+
+   nand@3 {
+   reg = <0x3 0x0 

Re: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-14 Thread Nicolas Ferre

On 14/06/2018 at 10:51, Ben Whitten wrote:

Signed-off-by: Ben Whitten 
---
  arch/arm/boot/dts/Makefile|   3 +-
  arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
  arch/arm/boot/dts/at91-wb45n.dtsi | 169 ++
  3 files changed, 237 insertions(+), 1 deletion(-)
  create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
  create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 7e24249..1ee94ee 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
at91sam9g25ek.dtb \
at91sam9g35ek.dtb \
at91sam9x25ek.dtb \
-   at91sam9x35ek.dtb
+   at91sam9x35ek.dtb \
+   at91-wb45n.dtb
  dtb-$(CONFIG_SOC_SAM_V7) += \
at91-kizbox2.dtb \
at91-nattis-2-natte-2.dtb \
diff --git a/arch/arm/boot/dts/at91-wb45n.dts b/arch/arm/boot/dts/at91-wb45n.dts
new file mode 100644
index 000..4e88815
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dts
@@ -0,0 +1,66 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dts - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+*/
+/dts-v1/;
+#include "at91-wb45n.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5", 
"atmel,at91sam9";


"laird" prefix must be added to 
Documentation/devicetree/bindings/vendor-prefixes.txt before using it: 
you can do a little patch as a first patch of this series.
Otherwise it will trigger a warning message while running 
scripts/checkpatch.pl on top of your patch.




+
+   ahb {
+   apb {
+   watchdog@fe40 {
+   status = "okay";
+   };
+   };
+   };
+
+   gpio_keys {
+   compatible = "gpio-keys";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   irqbtn@pb18 {


I'm not sure that the @pb18 can be used like this. This address 
extension must be used in a "reg" property in the node. dtc used with 
warning switch on might trigger an error for this.



+   label = "IRQBTN";
+   linux,code = <99>;
+   gpios = < 18 GPIO_ACTIVE_LOW>;
+   gpio-key,wakeup = <1>;
+   };
+   };
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
diff --git a/arch/arm/boot/dts/at91-wb45n.dtsi 
b/arch/arm/boot/dts/at91-wb45n.dtsi
new file mode 100644
index 000..2fa58e2
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dtsi
@@ -0,0 +1,169 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dtsi - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+ */
+
+#include "at91sam9g25.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5", 
"atmel,at91sam9";
+
+   chosen {
+   bootargs = "ubi.mtd=6 root=ubi0:rootfs rootfstype=ubifs rw";
+   stdout-path = "serial0:115200n8";
+   };
+
+   memory {
+   reg = <0x2000 0x400>;
+   };
+
+   ahb {
+   apb {
+   shdwc@fe10 {


I would advice you to take exactly the node name:
"shutdown-controller@fe10"; Anyway, it will go away after you use 
the label notation as advised by Alexandre.



+   atmel,wakeup-mode = "low";
+   };
+
+   pinctrl@f400 {
+   usb2 {
+   pinctrl_board_usb2: usb2-board {
+   atmel,pins =
+   ;/* PB11 gpio vbus sense, 
deglitch */
+   };
+   };
+   };
+
+   rstc@fe00 {
+   compatible = "atmel,sama5d3-rstc";
+   };


I don't think this node is needed.


+
+   };
+   };
+
+   atheros {
+   compatible = "atheros,ath6kl";
+   atheros,board-id = "SD32";
+   };
+};
+
+_xtal {
+   clock-frequency = <32768>;
+};
+
+_xtal {
+   clock-frequency = <1200>;
+};
+
+ {
+   status = "okay";
+   nand_controller: nand-controller {
+   pinctrl-0 = <_nand_cs _nand_rb 
_nand_oe_we>;
+   pinctrl-names = "default";
+   status = "okay";
+
+   nand@3 {
+   reg = <0x3 0x0 

Re: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-14 Thread Alexandre Belloni
On 14/06/2018 11:07:33+0200, Alexandre Belloni wrote:
> Hi,
> 
> On 14/06/2018 09:51:54+0100, Ben Whitten wrote:
> 
> This need a proper commit message. Maybe you can also add a link to the
> technical brief for the platform?
> 
> > Signed-off-by: Ben Whitten 
> > ---
> >  arch/arm/boot/dts/Makefile|   3 +-
> >  arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
> >  arch/arm/boot/dts/at91-wb45n.dtsi | 169 
> > ++
> >  3 files changed, 237 insertions(+), 1 deletion(-)
> >  create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
> >  create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi
> > 
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 7e24249..1ee94ee 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
> > at91sam9g25ek.dtb \
> > at91sam9g35ek.dtb \
> > at91sam9x25ek.dtb \
> > -   at91sam9x35ek.dtb
> > +   at91sam9x35ek.dtb \
> > +   at91-wb45n.dtb
> 
> The proper name for the file is -board.dtb so this should be
> at91sam9g25-wb45n.dtb.
> 

Nicolas tells me that the name was right, please disregard my comment
(also on the other patches).

-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com


Re: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-14 Thread Alexandre Belloni
On 14/06/2018 11:07:33+0200, Alexandre Belloni wrote:
> Hi,
> 
> On 14/06/2018 09:51:54+0100, Ben Whitten wrote:
> 
> This need a proper commit message. Maybe you can also add a link to the
> technical brief for the platform?
> 
> > Signed-off-by: Ben Whitten 
> > ---
> >  arch/arm/boot/dts/Makefile|   3 +-
> >  arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
> >  arch/arm/boot/dts/at91-wb45n.dtsi | 169 
> > ++
> >  3 files changed, 237 insertions(+), 1 deletion(-)
> >  create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
> >  create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi
> > 
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 7e24249..1ee94ee 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
> > at91sam9g25ek.dtb \
> > at91sam9g35ek.dtb \
> > at91sam9x25ek.dtb \
> > -   at91sam9x35ek.dtb
> > +   at91sam9x35ek.dtb \
> > +   at91-wb45n.dtb
> 
> The proper name for the file is -board.dtb so this should be
> at91sam9g25-wb45n.dtb.
> 

Nicolas tells me that the name was right, please disregard my comment
(also on the other patches).

-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com


Re: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-14 Thread Alexandre Belloni
Hi,

On 14/06/2018 09:51:54+0100, Ben Whitten wrote:

This need a proper commit message. Maybe you can also add a link to the
technical brief for the platform?

> Signed-off-by: Ben Whitten 
> ---
>  arch/arm/boot/dts/Makefile|   3 +-
>  arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
>  arch/arm/boot/dts/at91-wb45n.dtsi | 169 
> ++
>  3 files changed, 237 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
>  create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 7e24249..1ee94ee 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
>   at91sam9g25ek.dtb \
>   at91sam9g35ek.dtb \
>   at91sam9x25ek.dtb \
> - at91sam9x35ek.dtb
> + at91sam9x35ek.dtb \
> + at91-wb45n.dtb

The proper name for the file is -board.dtb so this should be
at91sam9g25-wb45n.dtb.


-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com


Re: [PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-14 Thread Alexandre Belloni
Hi,

On 14/06/2018 09:51:54+0100, Ben Whitten wrote:

This need a proper commit message. Maybe you can also add a link to the
technical brief for the platform?

> Signed-off-by: Ben Whitten 
> ---
>  arch/arm/boot/dts/Makefile|   3 +-
>  arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
>  arch/arm/boot/dts/at91-wb45n.dtsi | 169 
> ++
>  3 files changed, 237 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
>  create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 7e24249..1ee94ee 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
>   at91sam9g25ek.dtb \
>   at91sam9g35ek.dtb \
>   at91sam9x25ek.dtb \
> - at91sam9x35ek.dtb
> + at91sam9x35ek.dtb \
> + at91-wb45n.dtb

The proper name for the file is -board.dtb so this should be
at91sam9g25-wb45n.dtb.


-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com


[PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-14 Thread Ben Whitten
Signed-off-by: Ben Whitten 
---
 arch/arm/boot/dts/Makefile|   3 +-
 arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
 arch/arm/boot/dts/at91-wb45n.dtsi | 169 ++
 3 files changed, 237 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
 create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 7e24249..1ee94ee 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
at91sam9g25ek.dtb \
at91sam9g35ek.dtb \
at91sam9x25ek.dtb \
-   at91sam9x35ek.dtb
+   at91sam9x35ek.dtb \
+   at91-wb45n.dtb
 dtb-$(CONFIG_SOC_SAM_V7) += \
at91-kizbox2.dtb \
at91-nattis-2-natte-2.dtb \
diff --git a/arch/arm/boot/dts/at91-wb45n.dts b/arch/arm/boot/dts/at91-wb45n.dts
new file mode 100644
index 000..4e88815
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dts
@@ -0,0 +1,66 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dts - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+*/
+/dts-v1/;
+#include "at91-wb45n.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5", 
"atmel,at91sam9";
+
+   ahb {
+   apb {
+   watchdog@fe40 {
+   status = "okay";
+   };
+   };
+   };
+
+   gpio_keys {
+   compatible = "gpio-keys";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   irqbtn@pb18 {
+   label = "IRQBTN";
+   linux,code = <99>;
+   gpios = < 18 GPIO_ACTIVE_LOW>;
+   gpio-key,wakeup = <1>;
+   };
+   };
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
diff --git a/arch/arm/boot/dts/at91-wb45n.dtsi 
b/arch/arm/boot/dts/at91-wb45n.dtsi
new file mode 100644
index 000..2fa58e2
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dtsi
@@ -0,0 +1,169 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dtsi - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+ */
+
+#include "at91sam9g25.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5", 
"atmel,at91sam9";
+
+   chosen {
+   bootargs = "ubi.mtd=6 root=ubi0:rootfs rootfstype=ubifs rw";
+   stdout-path = "serial0:115200n8";
+   };
+
+   memory {
+   reg = <0x2000 0x400>;
+   };
+
+   ahb {
+   apb {
+   shdwc@fe10 {
+   atmel,wakeup-mode = "low";
+   };
+
+   pinctrl@f400 {
+   usb2 {
+   pinctrl_board_usb2: usb2-board {
+   atmel,pins =
+   ;  /* PB11 gpio vbus sense, 
deglitch */
+   };
+   };
+   };
+
+   rstc@fe00 {
+   compatible = "atmel,sama5d3-rstc";
+   };
+
+   };
+   };
+
+   atheros {
+   compatible = "atheros,ath6kl";
+   atheros,board-id = "SD32";
+   };
+};
+
+_xtal {
+   clock-frequency = <32768>;
+};
+
+_xtal {
+   clock-frequency = <1200>;
+};
+
+ {
+   status = "okay";
+   nand_controller: nand-controller {
+   pinctrl-0 = <_nand_cs _nand_rb 
_nand_oe_we>;
+   pinctrl-names = "default";
+   status = "okay";
+
+   nand@3 {
+   reg = <0x3 0x0 0x80>;
+   rb-gpios = < 5 GPIO_ACTIVE_HIGH>;
+   cs-gpios = < 4 GPIO_ACTIVE_HIGH>;
+   nand-bus-width = <8>;
+   nand-ecc-mode = "hw";
+   nand-ecc-strength = <4>;
+   nand-ecc-step-size = <512>;
+   nand-on-flash-bbt;
+   label = "atmel_nand";
+
+   partitions {
+   compatible = "fixed-partitions";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   at91bootstrap@0 {
+   label = "at91bs";
+ 

[PATCH 1/4] arm: dts: add support for Laird WB45N cpu module and DVK

2018-06-14 Thread Ben Whitten
Signed-off-by: Ben Whitten 
---
 arch/arm/boot/dts/Makefile|   3 +-
 arch/arm/boot/dts/at91-wb45n.dts  |  66 +++
 arch/arm/boot/dts/at91-wb45n.dtsi | 169 ++
 3 files changed, 237 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/at91-wb45n.dts
 create mode 100644 arch/arm/boot/dts/at91-wb45n.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 7e24249..1ee94ee 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -42,7 +42,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
at91sam9g25ek.dtb \
at91sam9g35ek.dtb \
at91sam9x25ek.dtb \
-   at91sam9x35ek.dtb
+   at91sam9x35ek.dtb \
+   at91-wb45n.dtb
 dtb-$(CONFIG_SOC_SAM_V7) += \
at91-kizbox2.dtb \
at91-nattis-2-natte-2.dtb \
diff --git a/arch/arm/boot/dts/at91-wb45n.dts b/arch/arm/boot/dts/at91-wb45n.dts
new file mode 100644
index 000..4e88815
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dts
@@ -0,0 +1,66 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dts - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+*/
+/dts-v1/;
+#include "at91-wb45n.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5", 
"atmel,at91sam9";
+
+   ahb {
+   apb {
+   watchdog@fe40 {
+   status = "okay";
+   };
+   };
+   };
+
+   gpio_keys {
+   compatible = "gpio-keys";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   irqbtn@pb18 {
+   label = "IRQBTN";
+   linux,code = <99>;
+   gpios = < 18 GPIO_ACTIVE_LOW>;
+   gpio-key,wakeup = <1>;
+   };
+   };
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
diff --git a/arch/arm/boot/dts/at91-wb45n.dtsi 
b/arch/arm/boot/dts/at91-wb45n.dtsi
new file mode 100644
index 000..2fa58e2
--- /dev/null
+++ b/arch/arm/boot/dts/at91-wb45n.dtsi
@@ -0,0 +1,169 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * at91-wb45n.dtsi - Device Tree file for WB45NBT board
+ *
+ *  Copyright (C) 2018 Laird
+ *
+ */
+
+#include "at91sam9g25.dtsi"
+
+/ {
+   model = "Laird Workgroup Bridge 45N - Atmel AT91SAM (dt)";
+   compatible = "laird,wb45n", "laird,wbxx", "atmel,at91sam9x5", 
"atmel,at91sam9";
+
+   chosen {
+   bootargs = "ubi.mtd=6 root=ubi0:rootfs rootfstype=ubifs rw";
+   stdout-path = "serial0:115200n8";
+   };
+
+   memory {
+   reg = <0x2000 0x400>;
+   };
+
+   ahb {
+   apb {
+   shdwc@fe10 {
+   atmel,wakeup-mode = "low";
+   };
+
+   pinctrl@f400 {
+   usb2 {
+   pinctrl_board_usb2: usb2-board {
+   atmel,pins =
+   ;  /* PB11 gpio vbus sense, 
deglitch */
+   };
+   };
+   };
+
+   rstc@fe00 {
+   compatible = "atmel,sama5d3-rstc";
+   };
+
+   };
+   };
+
+   atheros {
+   compatible = "atheros,ath6kl";
+   atheros,board-id = "SD32";
+   };
+};
+
+_xtal {
+   clock-frequency = <32768>;
+};
+
+_xtal {
+   clock-frequency = <1200>;
+};
+
+ {
+   status = "okay";
+   nand_controller: nand-controller {
+   pinctrl-0 = <_nand_cs _nand_rb 
_nand_oe_we>;
+   pinctrl-names = "default";
+   status = "okay";
+
+   nand@3 {
+   reg = <0x3 0x0 0x80>;
+   rb-gpios = < 5 GPIO_ACTIVE_HIGH>;
+   cs-gpios = < 4 GPIO_ACTIVE_HIGH>;
+   nand-bus-width = <8>;
+   nand-ecc-mode = "hw";
+   nand-ecc-strength = <4>;
+   nand-ecc-step-size = <512>;
+   nand-on-flash-bbt;
+   label = "atmel_nand";
+
+   partitions {
+   compatible = "fixed-partitions";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   at91bootstrap@0 {
+   label = "at91bs";
+