From f5543a89d3aab451988566d7fbc3ce814621f921 Mon Sep 17 00:00:00 2001
From: Daniel Gachet <daniel.gachet@hefr.ch>
Date: Mon, 10 Feb 2020 10:33:15 +0100
Subject: [PATCH] wip

---
 config/buildroot_bbb.patch | 178 +++++++------------------------------
 1 file changed, 32 insertions(+), 146 deletions(-)

diff --git a/config/buildroot_bbb.patch b/config/buildroot_bbb.patch
index 471b940..514b660 100644
--- a/config/buildroot_bbb.patch
+++ b/config/buildroot_bbb.patch
@@ -1,161 +1,29 @@
- board/bbb-heiafr/bbb-heiafr.dts                    | 126 ++++++
  board/bbb-heiafr/boot.cmd                          |   6 +
  board/bbb-heiafr/genimage.cfg                      |  29 ++
- board/bbb-heiafr/linux_defconfig                   | 426 +++++++++++++++++++++
+ board/bbb-heiafr/linux_defconfig                   | 428 +++++++++++++++++++++
  .../patches/linux/0001_random_ssh_key_gen.patch    |  13 +
+ .../patches/linux/0002_am335x-seg7-dts.patch       |  11 +
  .../patches/uboot/0001-board-seg7-gpio.patch       |  28 ++
- configs/bbb-heiafr_defconfig                       |  83 ++++
+ configs/bbb-heiafr_defconfig                       |  82 ++++
  package/dropbear/S50dropbear                       |   2 +-
  package/openssh/S50sshd                            |   3 +
- 9 files changed, 715 insertions(+), 1 deletion(-)
+ 9 files changed, 601 insertions(+), 1 deletion(-)
 
-diff --git a/board/bbb-heiafr/bbb-heiafr.dts b/board/bbb-heiafr/bbb-heiafr.dts
-new file mode 100644
-index 0000000000..6449de9c72
---- /dev/null
-+++ b/board/bbb-heiafr/bbb-heiafr.dts
-@@ -0,0 +1,126 @@
-+/*
-+ * Copyright (C) 2019 HIEA-FR - http://www.heia-fr.ch/
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+/dts-v1/;
-+
-+#include "am335x-boneblack.dts"
-+
-+/ {
-+	seg7 {
-+		pinctrl-names = "default";
-+		pinctrl-0 = <&seg7_pins>;
-+		compatible = "gpio-leds";
-+
-+		sega {
-+			label = "seg7:sega";
-+			gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
-+			linux,default-trigger = "sega";
-+			default-state = "off";
-+		};
-+
-+		segb {
-+			label = "seg7:segb";
-+			gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
-+			linux,default-trigger = "segb";
-+			default-state = "off";
-+		};
-+
-+		segc {
-+			label = "seg7:segc";
-+			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
-+			linux,default-trigger = "segc";
-+			default-state = "off";
-+		};
-+
-+		segd {
-+			label = "seg7:segd";
-+			gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
-+			linux,default-trigger = "segd";
-+			default-state = "off";
-+		};
-+
-+		sege {
-+			label = "seg7:sege";
-+			gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
-+			linux,default-trigger = "sege";
-+			default-state = "off";
-+		};
-+
-+		segf {
-+			label = "seg7:segf";
-+			gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
-+			linux,default-trigger = "segf";
-+			default-state = "off";
-+		};
-+
-+		segg {
-+			label = "seg7:segg";
-+			gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
-+			linux,default-trigger = "segg";
-+			default-state = "off";
-+		};
-+
-+		dp1 {
-+			label = "seg7:dp1";
-+			gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
-+			linux,default-trigger = "dp1";
-+			default-state = "off";
-+		};
-+
-+		dp2 {
-+			label = "seg7:dp2";
-+			gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
-+			linux,default-trigger = "dp2";
-+			default-state = "off";
-+		};
-+	};
-+};
-+
-+&am33xx_pinmux {
-+	spi1_pins: pinmux_spi1_pins {
-+		pinctrl-single,pins = <
-+			AM33XX_IOPAD(0x990, PIN_INPUT | MUX_MODE3)			/* mcasp0_aclkx.spi1_sclk */
-+			AM33XX_IOPAD(0x994, PIN_OUTPUT_PULLUP | MUX_MODE3)	/* mcasp0_fsx.spi0_d0 */
-+			AM33XX_IOPAD(0x998, PIN_INPUT | MUX_MODE3)			/* mcasp0_axr0.spi0_d1 */
-+			AM33XX_IOPAD(0x99c, PIN_OUTPUT | MUX_MODE3)			/* mcasp0_ahclkr.spi0_cs0 */
-+			AM33XX_IOPAD(0x97c, PIN_OUTPUT | MUX_MODE4)			/* uart1_rtsn.spi0_cs1 */
-+		>;
-+	};
-+
-+	seg7_pins: seg7_pins {
-+		pinctrl-single,pins = <
-+			AM33XX_IOPAD(0x958, PIN_OUTPUT_PULLDOWN | MUX_MODE7)			/* gpio0.4 */
-+			AM33XX_IOPAD(0x95c, PIN_OUTPUT_PULLDOWN | MUX_MODE7)			/* gpio0.5 */
-+			AM33XX_IOPAD(0x980, PIN_OUTPUT_PULLDOWN | MUX_MODE7)			/* gpio0.14 */
-+			AM33XX_IOPAD(0x820, PIN_OUTPUT_PULLDOWN | MUX_MODE7)			/* gpio0.22 */
-+			AM33XX_IOPAD(0x824, PIN_OUTPUT_PULLDOWN | MUX_MODE7)			/* gpio0.23 */
-+			AM33XX_IOPAD(0x828, PIN_OUTPUT_PULLDOWN | MUX_MODE7)			/* gpio0.26 */
-+			AM33XX_IOPAD(0x82c, PIN_OUTPUT_PULLDOWN | MUX_MODE7)			/* gpio0.27 */
-+			AM33XX_IOPAD(0x898, PIN_OUTPUT_PULLDOWN | MUX_MODE7)			/* gpio2.4 */
-+			AM33XX_IOPAD(0x89c, PIN_OUTPUT_PULLDOWN | MUX_MODE7)			/* gpio2.5 */
-+		>;
-+	};
-+};
-+
-+
-+&i2c2_pins {
-+		pinctrl-single,pins = <
-+			AM33XX_IOPAD(0x978, PIN_INPUT_PULLUP | MUX_MODE3)	/* uart1_ctsn.i2c2_sda */
-+			AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE2)	/* spi0.i2c2_scl */
-+		>;
-+};
-+
-+&spi1 {
-+		status = "okay";
-+		pinctrl-names = "default";
-+		pinctrl-0 = <&spi1_pins>;
-+		spidev@1 {
-+				spi-max-frequency = <24000000>;
-+				reg = <0>;
-+				compatible = "rohm,dh2228fv";
-+		};
-+};
 diff --git a/board/bbb-heiafr/boot.cmd b/board/bbb-heiafr/boot.cmd
 new file mode 100644
-index 0000000000..00409337d1
+index 0000000000..4f367003fe
 --- /dev/null
 +++ b/board/bbb-heiafr/boot.cmd
 @@ -0,0 +1,6 @@
 +setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
 +
 +fatload mmc 0 $kernel_addr_r zImage
-+fatload mmc 0 $fdt_addr_r bbb-heiafr.dtb
++fatload mmc 0 $fdt_addr_r am335x-boneblack.dtb
 +
 +bootz $kernel_addr_r - $fdt_addr_r
 diff --git a/board/bbb-heiafr/genimage.cfg b/board/bbb-heiafr/genimage.cfg
 new file mode 100644
-index 0000000000..1d215e84bf
+index 0000000000..664e242d92
 --- /dev/null
 +++ b/board/bbb-heiafr/genimage.cfg
 @@ -0,0 +1,29 @@
@@ -165,7 +33,7 @@ index 0000000000..1d215e84bf
 +			"MLO",
 +			"u-boot.img",
 +			"zImage",
-+			"bbb-heiafr.dtb",
++			"am335x-boneblack.dtb",
 +			"boot.scr",
 +		}
 +	}
@@ -190,10 +58,10 @@ index 0000000000..1d215e84bf
 +}
 diff --git a/board/bbb-heiafr/linux_defconfig b/board/bbb-heiafr/linux_defconfig
 new file mode 100644
-index 0000000000..3ec7971774
+index 0000000000..abeae04dd1
 --- /dev/null
 +++ b/board/bbb-heiafr/linux_defconfig
-@@ -0,0 +1,426 @@
+@@ -0,0 +1,428 @@
 +CONFIG_SYSVIPC=y
 +CONFIG_POSIX_MQUEUE=y
 +CONFIG_AUDIT=y
@@ -620,6 +488,8 @@ index 0000000000..3ec7971774
 +CONFIG_SCHEDSTATS=y
 +CONFIG_PROVE_LOCKING=y
 +# CONFIG_DEBUG_BUGVERBOSE is not set
++CONFIG_FUNCTION_TRACER=y
++CONFIG_FTRACE_SYSCALLS=y
 diff --git a/board/bbb-heiafr/patches/linux/0001_random_ssh_key_gen.patch b/board/bbb-heiafr/patches/linux/0001_random_ssh_key_gen.patch
 new file mode 100644
 index 0000000000..d464e298f8
@@ -639,6 +509,23 @@ index 0000000000..d464e298f8
 + static int crng_init_cnt = 0;
 + static unsigned long crng_global_init_time = 0;
 + #define CRNG_INIT_CNT_THRESH (2*CHACHA_KEY_SIZE)
+diff --git a/board/bbb-heiafr/patches/linux/0002_am335x-seg7-dts.patch b/board/bbb-heiafr/patches/linux/0002_am335x-seg7-dts.patch
+new file mode 100644
+index 0000000000..1e80b30f0d
+--- /dev/null
++++ b/board/bbb-heiafr/patches/linux/0002_am335x-seg7-dts.patch
+@@ -0,0 +1,11 @@
++--- a/arch/arm/boot/dts/am335x-bone-common.dtsi	2020-02-05 22:22:53.000000000 +0100
+++++ b/arch/arm/boot/dts/am335x-bone-common.dtsi	2020-02-10 09:45:18.932603002 +0100
++@@ -72,6 +72,8 @@
++ 			AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* gpmc_a6.gpio1_22 */
++ 			AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	/* gpmc_a7.gpio1_23 */
++ 			AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* gpmc_a8.gpio1_24 */
+++			AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	/* gpio2.2 */
+++			AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN,  PIN_OUTPUT_PULLDOWN, MUX_MODE7)	/* gpio2.3 */
++ 		>;
++ 	};
++ 
 diff --git a/board/bbb-heiafr/patches/uboot/0001-board-seg7-gpio.patch b/board/bbb-heiafr/patches/uboot/0001-board-seg7-gpio.patch
 new file mode 100644
 index 0000000000..d498df07e3
@@ -675,10 +562,10 @@ index 0000000000..d498df07e3
 + 	gpmc_init();
 diff --git a/configs/bbb-heiafr_defconfig b/configs/bbb-heiafr_defconfig
 new file mode 100644
-index 0000000000..a436f53777
+index 0000000000..0999bc11e5
 --- /dev/null
 +++ b/configs/bbb-heiafr_defconfig
-@@ -0,0 +1,83 @@
+@@ -0,0 +1,82 @@
 +BR2_arm=y
 +BR2_cortex_a8=y
 +BR2_GLOBAL_PATCH_DIR="board/bbb-heiafr/patches"
@@ -690,12 +577,11 @@ index 0000000000..a436f53777
 +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bbb-heiafr/genimage.cfg"
 +BR2_LINUX_KERNEL=y
 +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.16"
++BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.18"
 +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/bbb-heiafr/linux_defconfig"
 +BR2_LINUX_KERNEL_DTS_SUPPORT=y
 +BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-boneblack"
-+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/bbb-heiafr/bbb-heiafr.dts"
 +BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
 +BR2_PACKAGE_LINUX_TOOLS_CPUPOWER=y
 +BR2_PACKAGE_LINUX_TOOLS_PERF=y
-- 
GitLab