This will bring up SHR on an i9300, including RNDIS USB gadget
support.

Signed-off-by: Bob Ham <bob....@collabora.com>
---
 meta-samsung/conf/machine/i9300.conf               | 34 ++++++++++++++++
 .../initramfs-boot-android/i9300/machine.conf      |  3 ++
 .../initramfs-boot-android_1.0.bbappend            |  1 +
 .../systemd-machine-units/i9300/rndissetup.sh      | 11 ++++++
 .../systemd/systemd-machine-units_1.0.bbappend     | 25 +++++++++---
 .../linux/linux-samsung-i9300_git.bb               | 46 ++++++++++++++++++++++
 6 files changed, 114 insertions(+), 6 deletions(-)
 create mode 100644 meta-samsung/conf/machine/i9300.conf
 create mode 100644 
meta-samsung/recipes-core/initrdscripts/initramfs-boot-android/i9300/machine.conf
 create mode 100644 
meta-samsung/recipes-core/systemd/systemd-machine-units/i9300/rndissetup.sh
 create mode 100644 meta-samsung/recipes-kernel/linux/linux-samsung-i9300_git.bb

diff --git a/meta-samsung/conf/machine/i9300.conf 
b/meta-samsung/conf/machine/i9300.conf
new file mode 100644
index 0000000..8792a4f
--- /dev/null
+++ b/meta-samsung/conf/machine/i9300.conf
@@ -0,0 +1,34 @@
+#-----------------------------------------------------------------------------
+#@TYPE: Machine
+#@NAME: Samsung Galaxy SIII (International)
+#@DESCRIPTION: Machine configuration for the Samsung Galaxy SIII
+#-----------------------------------------------------------------------------
+
+TARGET_ARCH = "arm"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-samsung-i9300"
+
+MACHINE_FEATURES = "apm alsa bluetooth gps usbgadget usbhost phone wifi vfat 
ext2 keyboard"
+MACHINE_DISPLAY_WIDTH_PIXELS = "720"
+MACHINE_DISPLAY_HEIGHT_PIXELS = "1280"
+MACHINE_DISPLAY_ORIENTATION = "0"
+MACHINE_DISPLAY_PPI = "306"
+
+MACHINE_EXTRA_RDEPENDS = " \
+    kernel-module-autofs4 \
+"
+
+PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
+XSERVER = " \
+    xserver-xorg \
+    xf86-input-evdev \
+    xf86-video-fbdev \
+"
+
+KERNEL_IMAGETYPE = "zImage"
+IMAGE_FSTYPES += "ext4"
+IMAGE_ROOTFS_EXTRA_SPACE = "200000"
+
+SERIAL_CONSOLES = "115200;ttySAC2"
+
+require conf/machine/include/tune-cortexa9.inc
diff --git 
a/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android/i9300/machine.conf
 
b/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android/i9300/machine.conf
new file mode 100644
index 0000000..0cad37b
--- /dev/null
+++ 
b/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android/i9300/machine.conf
@@ -0,0 +1,3 @@
+rootfs_type=ext4
+sdcard_partition=mmcblk1p1
+system_partition=mmcblk0p8
diff --git 
a/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android_1.0.bbappend 
b/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android_1.0.bbappend
index 3730c90..6118798 100644
--- 
a/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android_1.0.bbappend
+++ 
b/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android_1.0.bbappend
@@ -2,3 +2,4 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
 COMPATIBLE_MACHINE_tuna = "tuna"
 COMPATIBLE_MACHINE_crespo = "crespo"
+COMPATIBLE_MACHINE_i9300 = "i9300"
diff --git 
a/meta-samsung/recipes-core/systemd/systemd-machine-units/i9300/rndissetup.sh 
b/meta-samsung/recipes-core/systemd/systemd-machine-units/i9300/rndissetup.sh
new file mode 100644
index 0000000..cc79976
--- /dev/null
+++ 
b/meta-samsung/recipes-core/systemd/systemd-machine-units/i9300/rndissetup.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+echo 0 > /sys/class/android_usb/android0/enable
+echo 1 > /sys/class/android_usb/android0/f_rndis/wceis
+echo 18d1 > /sys/class/android_usb/android0/idVendor
+echo 4e23 > /sys/class/android_usb/android0/idProduct
+echo rndis > /sys/class/android_usb/android0/functions
+echo 224 > /sys/class/android_usb/android0/bDeviceClass
+echo 1 > /sys/class/android_usb/android0/enable
+# power up interface
+ifup -f rndis0
diff --git 
a/meta-samsung/recipes-core/systemd/systemd-machine-units_1.0.bbappend 
b/meta-samsung/recipes-core/systemd/systemd-machine-units_1.0.bbappend
index ec49361..b720fb2 100644
--- a/meta-samsung/recipes-core/systemd/systemd-machine-units_1.0.bbappend
+++ b/meta-samsung/recipes-core/systemd/systemd-machine-units_1.0.bbappend
@@ -1,19 +1,24 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
+RNDISSETUP_URI = "${@base_contains('DISTRO_FEATURES', 'adb', '', \
+                                   'file://rndissetup.sh 
file://rndissetup.service', d)}"
+
 SRC_URI_append_crespo = " \
-  ${@base_contains('DISTRO_FEATURES', 'adb', '', 'file://rndissetup.sh', d)} \
-  ${@base_contains('DISTRO_FEATURES', 'adb', '', 'file://rndissetup.service', 
d)} \
+  ${RNDISSETUP_URI} \
   file://disablefbcon.sh \
   file://disablefbcon.service \
   file://logind.conf \
 "
 
 SRC_URI_append_tuna = " \
-  ${@base_contains('DISTRO_FEATURES', 'adb', '', 'file://rndissetup.sh', d)} \
-  ${@base_contains('DISTRO_FEATURES', 'adb', '', 'file://rndissetup.service', 
d)} \
+  ${RNDISSETUP_URI} \
   file://pvrinit.service \
 "
 
+SRC_URI_append_i9300 = " \
+  ${RNDISSETUP_URI} \
+"
+
 install_common() {
     if [ -e ${WORKDIR}/rndissetup.sh ] && [ -e ${WORKDIR}/rndissetup.service ] 
; then
         install -d ${D}${bindir}
@@ -36,5 +41,13 @@ do_install_append_crespo() {
     install -m 0655 ${WORKDIR}/logind.conf ${D}${sysconfdir}/systemd/
 }
 
-SYSTEMD_SERVICE_${PN}_crespo = "rndissetup.service disablefbcon.service"
-SYSTEMD_SERVICE_${PN}_tuna = "${@base_contains('DISTRO_FEATURES', 'adb', '', 
'rndissetup.service', d)} pvrinit.service"
+do_install_append_i9300() {
+    install_common
+}
+
+
+RNDISSETUP_SERVICE = "${@base_contains('DISTRO_FEATURES', 'adb', '', 
'rndissetup.service', d)}"
+
+SYSTEMD_SERVICE_${PN}_crespo = "${RNDISSETUP_SERVICE} disablefbcon.service"
+SYSTEMD_SERVICE_${PN}_tuna   = "${RNDISSETUP_SERVICE} pvrinit.service"
+SYSTEMD_SERVICE_${PN}_i9300  = "${RNDISSETUP_SERVICE}"
diff --git a/meta-samsung/recipes-kernel/linux/linux-samsung-i9300_git.bb 
b/meta-samsung/recipes-kernel/linux/linux-samsung-i9300_git.bb
new file mode 100644
index 0000000..99b840a
--- /dev/null
+++ b/meta-samsung/recipes-kernel/linux/linux-samsung-i9300_git.bb
@@ -0,0 +1,46 @@
+require recipes-kernel/linux/linux.inc
+
+SECTION = "kernel"
+DESCRIPTION = "Linux kernel for the Samsung Galaxy SIII device from 
CyanogenMod"
+
+COMPATIBLE_MACHINE = "i9300"
+
+KERNEL_RAM_BASE  = "0x40008000"
+RAMDISK_RAM_BASE = "0x41000000"
+EXTRA_ABOOTIMG_ARGS = '-c "pagesize=2048"'
+inherit kernel_android
+
+SRC_URI = " \
+  
git://github.com/CyanogenMod/android_kernel_samsung_smdk4412.git;protocol=git;branch=cm-13.0
 \
+"
+
+S = "${WORKDIR}/git"
+
+SRCREV = "764df269b7e4e2784ab4acb841e503b364552641"
+
+KV = "3.0.101"
+PV = "${KV}+gitr${SRCPV}"
+inherit machine_kernel_pr
+
+
+do_configure_prepend() {
+  cp ${S}/arch/arm/configs/cyanogenmod_i9300_defconfig ${WORKDIR}/defconfig
+
+  clear_var() {
+    sed -i -e 's/^.*CONFIG_${1}.*//' ${WORKDIR}/defconfig
+  }
+
+  set_var() {
+    clear_var $1
+    echo "CONFIG_${1}=${2}" >> ${WORKDIR}/defconfig
+  }
+
+  unset_var() {
+    clear_var $1
+    echo "# CONFIG_${1} is not set" >> ${WORKDIR}/defconfig
+  }
+
+  unset_var VMWARE_MVP
+  set_var TTY_PRINTK y
+  set_var AUTOFS4_FS m
+}
-- 
2.1.4

_______________________________________________
Shr-devel mailing list
Shr-devel@lists.shr-project.org
http://lists.shr-project.org/mailman/listinfo/shr-devel

Reply via email to