universal7885: Inital port to A20/A20e

Addtitionally, Add device-specific trees as well

Change-Id: Icbbc31c063b18bce3702d0b208a0aee78148a7c0
Signed-off-by: roynatech2544 <whiteshell2544@naver.com>
This commit is contained in:
roynatech2544 2021-10-21 22:38:36 +09:00
commit f8eb3e1258
No known key found for this signature in database
GPG key ID: 9675C32163D88D30
169 changed files with 2440 additions and 62 deletions

7
a20e/Android.mk Normal file
View file

@ -0,0 +1,7 @@
LOCAL_PATH := $(call my-dir)
ifneq ($(filter a20e, $(TARGET_DEVICE)),)
include $(call all-makefiles-under,$(LOCAL_PATH))
endif

2
a20e/AndroidProducts.mk Normal file
View file

@ -0,0 +1,2 @@
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/aosp_a20e.mk

26
a20e/BoardConfig.mk Normal file
View file

@ -0,0 +1,26 @@
DEVICE_PATH := device/samsung/a20e
# Asserts
TARGET_OTA_ASSERT_DEVICE := a20e,a20edd
# Keymaster
TARGET_KEYMASTER_VARIANT := samsung
# Kernel
TARGET_KERNEL_CONFIG := exynos7885-a20e_permissive_defconfig
# Display
TARGET_SCREEN_DENSITY := 320
# Partitions
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 55574528 # 55MB
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4320133120 #4.02GB
# Recovery
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery/recovery.fstab
# Sepolicy
BOARD_SEPOLICY_TEE_FLAVOR := teegris
# Inherit common board flags
include device/samsung/universal7885-common/BoardConfigCommon.mk

13
a20e/aosp_a20e.mk Normal file
View file

@ -0,0 +1,13 @@
$(call inherit-product, device/samsung/a20e/full_a20e.mk)
# Inherit some common Lineage stuff.
$(call inherit-product, vendor/aosp/config/common_full_phone.mk)
PRODUCT_NAME := aosp_a20e
TARGET_FACE_UNLOCK_SUPPORTED := true
TARGET_SUPPORTS_GOOGLE_RECORDER := true
TARGET_INCLUDE_STOCK_ARCORE := true
TARGET_INCLUDE_LIVE_WALLPAPERS := true
# Set bootanimation resolution to 7200p
TARGET_BOOT_ANIMATION_RES := 720

View file

@ -0,0 +1,11 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.keymaster</name>
<transport>hwbinder</transport>
<version>4.0</version>
<interface>
<name>IKeymasterDevice</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

View file

@ -0,0 +1,123 @@
## --------------- Part-I : Configuration for Phone HW ----------------------------##
####################################################################################
# I-1) Clock Source Information (AP direct 26MHz)
####################################################################################
## Clock option for 26MHz PLL (0x12)
## Clock option for 19.2MHz PLL (0x11)
FW_CFG_CLK_SPEED=0x12
####################################################################################
## --------------- Part-II : Configuration for Chip / FW -------------------------##
####################################################################################
# II-1) FW base address :
####################################################################################
## FW Base Address for SEN82 (0x2000)
FW_BASE_ADDRESS=0x2000
####################################################################################
# II-2) Timing parameter
####################################################################################
# WAKEUP_DELAY for eSE Model
# (Old F/W) 20ms : UICC, 80ms : eSE
# (After Star Model) 20ms : UICC, 20ms : eSE
#WAKEUP_DELAY=20
####################################################################################
# II-3) Firmware path
####################################################################################
## F/W image for S3NRN82
#FW_IMAGE="/vendor/firmware/nfc/sec_s3nrn82_firmware.bin"
# for single SKU
FW_DIR_PATH="/vendor/firmware/nfc/"
FW_FILE_NAME="sec_s3nrn82_firmware.bin"
####################################################################################
# II-4) RF Register path
####################################################################################
## RF Register for S3NRN82
#RFREG_FILE="/vendor/etc/nfc/sec_s3nrn82_rfreg.bin"
RF_DIR_PATH="/vendor/etc/nfc/"
RF_FILE_NAME="sec_s3nrn82_rfreg.bin"
## --------------- Part-III : Configuration for MW --------------------------------##
####################################################################################
# III-1) Driver path
####################################################################################
## Power driver
POWER_DRIVER="/dev/sec-nfc"
## Transport driver
TRANS_DRIVER="/dev/sec-nfc"
####################################################################################
# III-2) Trace Level
####################################################################################
## TRACE_LEVEL (0: only err, 1: and debug, 2: trace also)
## DATA TRACE level (0: not display, 1: simply, 2: all of data trace)
TRACE_LEVEL=2
DATA_TRACE=2
####################################################################################
# III-3) NFC Sleep Timing
####################################################################################
# Set wait time to enter CLF sleep mode
SLEEP_TIMEOUT=1000
####################################################################################
# III-4) F/W Update Option
# F/W Update Option
# 0 : Download for different version
# 1 : Download for upper version
# 2 : Force Download
####################################################################################
# 0 : Default value is "Download for different version"
FW_UPDATE_MODE=0
####################################################################################
###############################################################################
# Configure the default NfcA/IsoDep techology and protocol route. Can be
# either a secure element (e.g. 0x02) or the host (0x00)
DEFAULT_ROUTE=0x03
###############################################################################
# Configure the single default SE to use. The default is to use the first
# SE that is detected by the stack. This value might be used when the phone
# supports multiple SE but you want to force it to use one of them
DEFAULT_OFFHOST_ROUTE=0x02
###############################################################################
# Choose the presence-check algorithm for type-4 tag. If not defined, the default value is 1.
# PRESENCE_CHECK_ALGORITHM=0 : [default] Automatic select for below 4 method.
# PRESENCE_CHECK_ALGORITHM=1 : Read Empty I block.
# PRESENCE_CHECK_ALGORITHM=2 : Sleep/Wakeup Command
# PRESENCE_CHECK_ALGORITHM=3 : Read binary for CH0(K version method)
# PRESENCE_CHECK_ALGORITHM=4 : Read binary for CH3
# PRESENCE_CHECK_ALGORITHM=5 : ACK/NACK
# Default : No use (AUTO)
# For China Region : Use Method 3
###############################################################################
PRESENCE_CHECK_ALGORITHM=5
###############################################################################
# Vendor Specific Proprietary Protocol & Discovery Configuration
# Set to 0xFF if unsupported
# byte[0] NCI_PROTOCOL_18092_ACTIVE
# byte[1] NCI_PROTOCOL_B_PRIME
# byte[2] NCI_PROTOCOL_DUAL
# byte[3] NCI_PROTOCOL_15693
# byte[4] NCI_PROTOCOL_KOVIO
# byte[5] NCI_PROTOCOL_MIFARE
# byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO
# byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME
# byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
NFA_PROPRIETARY_CFG={00, 81, 82, 80, 8A, 81, 70, 74, F4}
###############################################################################
# Extended APDU length for ISO_DEP. If not supported default length is 261
# CHECK in VTS Test case
# ISO_DEP_MAX_TRANSCEIVE=0xFEFF
ISO_DEP_MAX_TRANSCEIVE=261
############### end of config ##############################

29
a20e/device.mk Normal file
View file

@ -0,0 +1,29 @@
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
# Inherit common device configuration
$(call inherit-product, device/samsung/universal7885-common/universal7885-common.mk)
$(call inherit-product, vendor/samsung/a20e/a20e-vendor.mk)
# Keymaster
PRODUCT_PACKAGES += \
android.hardware.keymaster@4.0-service.samsung \
libkeymaster4_1support.vendor
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/android.hardware.keymaster@4.0-service.samsung.xml:$(TARGET_COPY_OUT_VENDOR)/etc/vintf/manifest/android.hardware.keymaster@4.0-service.samsung.xml
# Image
#TARGET_PREBUILT_KERNEL := device/samsung/a20e/Image
#PRODUCT_COPY_FILES += \
$(TARGET_PREBUILT_KERNEL):kernel
# NFC
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/libnfc-sec-vendor.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-sec-vendor.conf
# Rootdir
PRODUCT_PACKAGES += \
fstab.exynos7884B \
init.target.rc \
init.baseband.rc

30
a20e/extract-files.sh Executable file
View file

@ -0,0 +1,30 @@
#!/bin/bash
#
# Copyright (C) 2019 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# If we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
return
fi
set -e
export DEVICE=a20e
export DEVICE_COMMON=universal7885-common
export VENDOR=samsung
export DEVICE_BRINGUP_YEAR=2020
"./../../${VENDOR}/${DEVICE_COMMON}/extract-files.sh" "$@"

27
a20e/full_a20e.mk Normal file
View file

@ -0,0 +1,27 @@
# Copyright (C) 2018 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit device configuration
$(call inherit-product, device/samsung/a20e/device.mk)
# Device identifier. This must come after all inclusions
PRODUCT_DEVICE := a20e
PRODUCT_NAME := full_a20e
PRODUCT_MODEL := SM-A202K
PRODUCT_BRAND := samsung
PRODUCT_MANUFACTURER := samsung
PRODUCT_GMS_CLIENTID_BASE := android-samsung
# Set BUILD_FINGERPRINT variable to be picked up by both system and vendor build.prop
BUILD_FINGERPRINT := "google/redfin/redfin:11/RQ3A.210805.001.A1/7474174:user/release-keys"
PRODUCT_BUILD_PROP_OVERRIDES += \
PRODUCT_NAME=a20ektt \
PRIVATE_BUILD_DESC="redfin-user 11 RQ3A.210805.001.A1 7474174 release-keys"

View file

@ -0,0 +1,7 @@
[
{
"repository": "android_device_samsung_universal7885-common",
"target_path": "device/samsung/universal7885-common"
}
]

View file

@ -0,0 +1,597 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>
<bool name="config_displayBlanksAfterDoze">true</bool>
<bool name="config_dozePulsePickup">false</bool>
<string name="config_mainBuiltInDisplayCutout">M62,0l-3.8,0l-3.9,0.2l-3.9,0.4l-4,0.8l-3.9,1.2l-3.8,1.6l-3.7,2l-3.4,2.4l-3.1,2.8l-2.9,3l-2.7,3.1l-2.6,3.1 l-2.7,2.8C12.5,28,6.2,30.3,0,30.3c-6.3,0-12.5-2.3-17.5-6.8l-2.7-2.8l-2.6-3.1l-2.7-3.1l-2.9-3l-3.2-2.8 L-35,6.2l-3.7-2l-3.8-1.6l-3.9-1.2l-4-0.8L-54.3,0.2L-58.2,0L-62,0Z @dp</string>
<bool name="config_supportDoubleTapWake">true</bool>
<bool name="config_enableBurnInProtection">true</bool>
<bool name="config_allowAutoBrightnessWhileDozing">true</bool>
<bool name="config_automatic_brightness_available">true</bool>
<integer name="config_autoBrightnessBrighteningLightDebounce">2000</integer>
<integer name="config_autoBrightnessDarkeningLightDebounce">4000</integer>
<integer-array name="config_autoBrightnessDisplayValuesNits">
<item>10</item>
<item>11</item>
<item>15</item>
<item>17</item>
<item>19</item>
<item>25</item>
<item>30</item>
<item>34</item>
<item>38</item>
<item>44</item>
<item>49</item>
<item>67</item>
<item>82</item>
<item>90</item>
<item>102</item>
<item>108</item>
<item>148</item>
<item>183</item>
<item>247</item>
<item>304</item>
<item>350</item>
<item>391</item>
<item>420</item>
<item>420</item>
<item>450</item>
<item>500</item>
<item>550</item>
<item>575</item>
<item>600</item>
</integer-array>
<integer-array name="config_autoBrightnessLcdBacklightValues">
<item>10</item>
<item>80</item>
<item>162</item>
<item>190</item>
<item>255</item>
</integer-array>
<integer-array name="config_autoBrightnessLevels">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>15</item>
<item>20</item>
<item>25</item>
<item>50</item>
<item>100</item>
<item>300</item>
<item>500</item>
<item>1000</item>
<item>1500</item>
<item>2000</item>
<item>3000</item>
<item>4000</item>
<item>4999</item>
<item>5000</item>
<item>10000</item>
<item>20000</item>
<item>30000</item>
<item>40000</item>
</integer-array>
<integer-array name="config_screenBrightnessBacklight">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
<item>18</item>
<item>19</item>
<item>20</item>
<item>21</item>
<item>22</item>
<item>23</item>
<item>24</item>
<item>25</item>
<item>26</item>
<item>27</item>
<item>28</item>
<item>29</item>
<item>30</item>
<item>31</item>
<item>32</item>
<item>33</item>
<item>34</item>
<item>35</item>
<item>36</item>
<item>37</item>
<item>38</item>
<item>39</item>
<item>40</item>
<item>41</item>
<item>42</item>
<item>43</item>
<item>44</item>
<item>45</item>
<item>46</item>
<item>47</item>
<item>48</item>
<item>49</item>
<item>50</item>
<item>51</item>
<item>52</item>
<item>53</item>
<item>54</item>
<item>55</item>
<item>56</item>
<item>57</item>
<item>58</item>
<item>59</item>
<item>60</item>
<item>61</item>
<item>62</item>
<item>63</item>
<item>64</item>
<item>65</item>
<item>66</item>
<item>67</item>
<item>68</item>
<item>69</item>
<item>70</item>
<item>71</item>
<item>72</item>
<item>73</item>
<item>74</item>
<item>75</item>
<item>76</item>
<item>77</item>
<item>78</item>
<item>79</item>
<item>80</item>
<item>81</item>
<item>82</item>
<item>83</item>
<item>84</item>
<item>85</item>
<item>86</item>
<item>87</item>
<item>88</item>
<item>89</item>
<item>90</item>
<item>91</item>
<item>92</item>
<item>93</item>
<item>94</item>
<item>95</item>
<item>96</item>
<item>97</item>
<item>98</item>
<item>99</item>
<item>100</item>
<item>101</item>
<item>102</item>
<item>103</item>
<item>104</item>
<item>105</item>
<item>106</item>
<item>107</item>
<item>108</item>
<item>109</item>
<item>110</item>
<item>111</item>
<item>112</item>
<item>113</item>
<item>114</item>
<item>115</item>
<item>116</item>
<item>117</item>
<item>118</item>
<item>119</item>
<item>120</item>
<item>121</item>
<item>122</item>
<item>123</item>
<item>124</item>
<item>125</item>
<item>126</item>
<item>127</item>
<item>128</item>
<item>129</item>
<item>130</item>
<item>131</item>
<item>132</item>
<item>133</item>
<item>134</item>
<item>135</item>
<item>136</item>
<item>137</item>
<item>138</item>
<item>139</item>
<item>140</item>
<item>141</item>
<item>142</item>
<item>143</item>
<item>144</item>
<item>145</item>
<item>146</item>
<item>147</item>
<item>148</item>
<item>149</item>
<item>150</item>
<item>151</item>
<item>152</item>
<item>153</item>
<item>154</item>
<item>155</item>
<item>156</item>
<item>157</item>
<item>158</item>
<item>159</item>
<item>160</item>
<item>161</item>
<item>162</item>
<item>163</item>
<item>164</item>
<item>165</item>
<item>166</item>
<item>167</item>
<item>168</item>
<item>169</item>
<item>170</item>
<item>171</item>
<item>172</item>
<item>173</item>
<item>174</item>
<item>175</item>
<item>176</item>
<item>177</item>
<item>178</item>
<item>179</item>
<item>180</item>
<item>181</item>
<item>182</item>
<item>183</item>
<item>184</item>
<item>185</item>
<item>186</item>
<item>187</item>
<item>188</item>
<item>189</item>
<item>190</item>
<item>191</item>
<item>192</item>
<item>193</item>
<item>194</item>
<item>195</item>
<item>196</item>
<item>197</item>
<item>198</item>
<item>199</item>
<item>200</item>
<item>201</item>
<item>202</item>
<item>203</item>
<item>204</item>
<item>205</item>
<item>206</item>
<item>207</item>
<item>208</item>
<item>209</item>
<item>210</item>
<item>211</item>
<item>212</item>
<item>213</item>
<item>214</item>
<item>215</item>
<item>216</item>
<item>217</item>
<item>218</item>
<item>219</item>
<item>220</item>
<item>221</item>
<item>222</item>
<item>223</item>
<item>224</item>
<item>225</item>
<item>226</item>
<item>227</item>
<item>228</item>
<item>229</item>
<item>230</item>
<item>231</item>
<item>232</item>
<item>233</item>
<item>234</item>
<item>235</item>
<item>236</item>
<item>237</item>
<item>238</item>
<item>239</item>
<item>240</item>
<item>241</item>
<item>242</item>
<item>243</item>
<item>244</item>
<item>245</item>
<item>246</item>
<item>247</item>
<item>248</item>
<item>249</item>
<item>250</item>
<item>251</item>
<item>252</item>
<item>253</item>
<item>254</item>
<item>255</item>
</integer-array>
<integer-array name="config_screenBrightnessNits">
<item>2</item>
<item>3</item>
<item>4</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>18</item>
<item>19</item>
<item>20</item>
<item>22</item>
<item>24</item>
<item>25</item>
<item>26</item>
<item>28</item>
<item>29</item>
<item>31</item>
<item>32</item>
<item>34</item>
<item>35</item>
<item>36</item>
<item>38</item>
<item>39</item>
<item>41</item>
<item>42</item>
<item>44</item>
<item>45</item>
<item>46</item>
<item>48</item>
<item>49</item>
<item>51</item>
<item>52</item>
<item>54</item>
<item>55</item>
<item>57</item>
<item>58</item>
<item>60</item>
<item>61</item>
<item>62</item>
<item>64</item>
<item>65</item>
<item>67</item>
<item>68</item>
<item>70</item>
<item>71</item>
<item>72</item>
<item>74</item>
<item>75</item>
<item>77</item>
<item>78</item>
<item>80</item>
<item>81</item>
<item>83</item>
<item>84</item>
<item>86</item>
<item>87</item>
<item>88</item>
<item>90</item>
<item>91</item>
<item>93</item>
<item>94</item>
<item>95</item>
<item>97</item>
<item>98</item>
<item>100</item>
<item>101</item>
<item>103</item>
<item>104</item>
<item>105</item>
<item>107</item>
<item>109</item>
<item>110</item>
<item>111</item>
<item>113</item>
<item>114</item>
<item>116</item>
<item>117</item>
<item>119</item>
<item>120</item>
<item>121</item>
<item>123</item>
<item>124</item>
<item>126</item>
<item>127</item>
<item>129</item>
<item>130</item>
<item>131</item>
<item>133</item>
<item>135</item>
<item>136</item>
<item>137</item>
<item>139</item>
<item>140</item>
<item>142</item>
<item>143</item>
<item>145</item>
<item>146</item>
<item>147</item>
<item>149</item>
<item>150</item>
<item>152</item>
<item>153</item>
<item>155</item>
<item>156</item>
<item>157</item>
<item>159</item>
<item>161</item>
<item>162</item>
<item>163</item>
<item>165</item>
<item>166</item>
<item>168</item>
<item>169</item>
<item>171</item>
<item>172</item>
<item>173</item>
<item>175</item>
<item>176</item>
<item>178</item>
<item>179</item>
<item>181</item>
<item>182</item>
<item>183</item>
<item>186</item>
<item>188</item>
<item>189</item>
<item>191</item>
<item>193</item>
<item>195</item>
<item>197</item>
<item>198</item>
<item>201</item>
<item>202</item>
<item>204</item>
<item>206</item>
<item>208</item>
<item>210</item>
<item>212</item>
<item>214</item>
<item>216</item>
<item>217</item>
<item>219</item>
<item>221</item>
<item>223</item>
<item>225</item>
<item>226</item>
<item>229</item>
<item>230</item>
<item>232</item>
<item>234</item>
<item>236</item>
<item>238</item>
<item>240</item>
<item>242</item>
<item>244</item>
<item>245</item>
<item>247</item>
<item>249</item>
<item>251</item>
<item>253</item>
<item>254</item>
<item>257</item>
<item>258</item>
<item>260</item>
<item>262</item>
<item>264</item>
<item>266</item>
<item>268</item>
<item>270</item>
<item>272</item>
<item>273</item>
<item>275</item>
<item>277</item>
<item>279</item>
<item>281</item>
<item>282</item>
<item>285</item>
<item>286</item>
<item>288</item>
<item>290</item>
<item>292</item>
<item>294</item>
<item>296</item>
<item>298</item>
<item>300</item>
<item>301</item>
<item>303</item>
<item>305</item>
<item>307</item>
<item>309</item>
<item>310</item>
<item>313</item>
<item>314</item>
<item>316</item>
<item>318</item>
<item>320</item>
<item>322</item>
<item>324</item>
<item>326</item>
<item>327</item>
<item>329</item>
<item>331</item>
<item>333</item>
<item>335</item>
<item>337</item>
<item>338</item>
<item>341</item>
<item>342</item>
<item>344</item>
<item>346</item>
<item>348</item>
<item>350</item>
<item>352</item>
<item>354</item>
<item>355</item>
<item>357</item>
<item>359</item>
<item>361</item>
<item>363</item>
<item>365</item>
<item>366</item>
<item>369</item>
<item>370</item>
<item>372</item>
<item>374</item>
<item>376</item>
<item>378</item>
<item>379</item>
<item>382</item>
<item>383</item>
<item>385</item>
<item>387</item>
<item>389</item>
<item>391</item>
<item>393</item>
<item>395</item>
<item>397</item>
<item>398</item>
<item>400</item>
<item>402</item>
<item>404</item>
<item>406</item>
<item>407</item>
<item>410</item>
<item>411</item>
<item>413</item>
<item>415</item>
<item>417</item>
<item>419</item>
<item>420</item>
</integer-array>
</resources>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="status_bar_height_landscape">24.0dip</dimen>
<dimen name="status_bar_height_portrait">31.0dip</dimen>
<dimen name="rounded_corner_radius">40px</dimen>
</resources>

View file

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<device name="Android">
<item name="none">0</item>
<item name="screen.on">93</item>
<item name="screen.full">313</item>
<item name="bluetooth.active">118</item>
<item name="bluetooth.on">0.98</item>
<item name="wifi.on">0.43</item>
<item name="wifi.active">488</item>
<item name="wifi.scan">502</item>
<item name="dsp.audio">45</item>
<item name="dsp.video">286</item>
<item name="camera.flashlight">124</item>
<item name="camera.avg">662</item>
<item name="gps.on">32</item>
<item name="radio.active">164</item>
<item name="radio.scanning">115</item>
<array name="radio.on">
<value>7.3</value>
<value>7.3</value>
</array>
<array name="cpu.clusters.cores">
<value>6</value>
<value>2</value>
</array>
<array name="cpu.speeds.cluster0">
<value>1586000</value>
<value>1482000</value>
<value>1352000</value>
<value>1248000</value>
<value>1144000</value>
<value>1014000</value>
<value>902000</value>
<value>839000</value>
<value>757000</value>
<value>676000</value>
<value>546000</value>
<value>449000</value>
</array>
<array name="cpu.active.cluster0">
<value>50</value>
<value>43</value>
<value>34</value>
<value>28</value>
<value>24</value>
<value>18</value>
<value>15</value>
<value>13</value>
<value>11</value>
<value>10</value>
<value>7</value>
<value>6</value>
</array>
<array name="cpu.speeds.cluster1">
<value>1768000</value>
<value>1664000</value>
<value>1560000</value>
<value>1352000</value>
<value>1144000</value>
<value>936000</value>
</array>
<array name="cpu.active.cluster1">
<value>162</value>
<value>142</value>
<value>120</value>
<value>87</value>
<value>61</value>
<value>41</value>
</array>
<item name="cpu.idle">3.79</item>
<item name="cpu.awake">23</item>
<item name="battery.capacity">4000</item>
<item name="wifi.controller.idle">1</item>
<item name="wifi.controller.rx">65</item>
<item name="wifi.controller.tx">265</item>
<array name="wifi.controller.tx_levels">
<value>0</value>
</array>
<item name="wifi.controller.voltage">3600</item>
<array name="wifi.batchedscan">
<value>.0002</value>
<value>.002</value>
<value>.02</value>
<value>.2</value>
<value>2</value>
</array>
</device>

View file

@ -0,0 +1,19 @@
vendor/lib64/libsensorlistener.so
vendor/lib64/hw/camera.exynos7884B.so
vendor/lib64/hw/sensors.universal7884B.so
vendor/lib64/libhwjpeg.so
vendor/lib64/libexynoscamera3.so
vendor/lib/libsensorlistener.so
vendor/lib/hw/camera.exynos7884B.so
vendor/lib/hw/sensors.universal7884B.so
vendor/lib/libhwjpeg.so
vendor/lib/libexynoscamera3.so
vendor/firmware/setfile_imx258.bin
vendor/firmware/setfile_3l6.bin
vendor/firmware/mfc_fw.bin
vendor/firmware/setfile_sr556.bin
vendor/firmware/fimc_is_rta.bin
vendor/firmware/nfc/sec_s3nrn82_firmware.bin
vendor/firmware/fimc_is_lib.bin
vendor/firmware/setfile_4ha_front.bin
vendor/firmware/dax_param.bin

View file

@ -0,0 +1,12 @@
/dev/block/platform/13500000.dwmmc0/by-name/system /system ext4 ro,errors=panic wait,recoveryonly
/dev/block/platform/13500000.dwmmc0/by-name/vendor /vendor ext4 ro,errors=panic wait,recoveryonly
/dev/block/platform/13500000.dwmmc0/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check
/dev/block/platform/13500000.dwmmc0/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,usrquota,grpquota,fsync_mode=nobarrier,reserve_root=32768,resgid=5678 wait,check,forceencrypt=footer,quota,reservedsize=128m,length=-20480
/dev/block/platform/13500000.dwmmc0/by-name/boot /boot emmc defaults defaults
/dev/block/platform/13500000.dwmmc0/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/13500000.dwmmc0/by-name/efs /mnt/vendor/efs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check
/dev/block/platform/13500000.dwmmc0/by-name/cpefs /mnt/vendor/cpefs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check,nofail
/dev/block/platform/13500000.dwmmc0/by-name/misc /misc emmc defaults defaults
/dev/block/platform/13500000.dwmmc0/by-name/hidden /preload ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic voldmanaged=preload:auto,check
/devices/platform/13550000.dwmmc2/mmc_host/mmc1* auto vfat defaults voldmanaged=sdcard:auto
/devices/platform/13600000.usb/13600000.dwc3* auto auto defaults voldmanaged=usb:auto

25
a20e/rootdir/Android.mk Normal file
View file

@ -0,0 +1,25 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := fstab.exynos7884B
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/$(LOCAL_MODULE)
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.target.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/$(LOCAL_MODULE)
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.baseband.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/$(LOCAL_MODULE)
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init
include $(BUILD_PREBUILT)

View file

@ -0,0 +1,16 @@
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
# system and vendor partition will be early-mounted by kernel
# /dev/block/platform/13500000.dwmmc0/by-name/system /system ext4 ro wait
/dev/block/platform/13500000.dwmmc0/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check
/dev/block/platform/13500000.dwmmc0/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check,encryptable=footer,quota,reservedsize=128M,length=-20480
/dev/block/platform/13500000.dwmmc0/by-name/efs /mnt/vendor/efs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check
/dev/block/platform/13500000.dwmmc0/by-name/misc /misc emmc defaults defaults
# VOLD :: fstab.a20e
/dev/block/platform/13500000.dwmmc0/by-name/hidden /preload ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic voldmanaged=preload:auto,check
/devices/platform/13550000.dwmmc2/mmc_host/mmc1* auto vfat defaults voldmanaged=sdcard:auto
/devices/platform/13600000.usb/13600000.dwc3* auto auto defaults voldmanaged=usb:auto

View file

@ -0,0 +1,91 @@
on early-init
mkdir /mnt/vendor/cpefs 0771 radio system
on init
symlink /dev/block/platform/13500000.dwmmc0/by-name/radio /dev/mbin0
restorecon /dev/mbin0
write /proc/sys/net/core/netdev_max_backlog 5000
write /sys/class/net/rmnet0/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet1/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet2/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet3/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet4/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet5/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet6/queues/rx-0/rps_cpus 6
write /sys/class/net/rmnet7/queues/rx-0/rps_cpus 6
on fs && property:ro.boot.cpefs_wp=0
wait /dev/block/platform/13500000.dwmmc0/by-name/cpefs
mount ext4 /dev/block/platform/13500000.dwmmc0/by-name/cpefs /mnt/vendor/cpefs nosuid nodev noatime noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic
mount none /mnt/vendor/cpefs /cpefs bind
restorecon_recursive /mnt/vendor/cpefs
chown radio system /mnt/vendor/cpefs
chmod 0771 /mnt/vendor/cpefs
on fs && property:ro.boot.cpefs_wp=1
wait /dev/block/platform/13500000.dwmmc0/by-name/cpefs
mount ext4 /dev/block/platform/13500000.dwmmc0/by-name/cpefs /mnt/vendor/cpefs ro nosuid nodev noatime noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic
mount none /mnt/vendor/cpefs /cpefs bind
restorecon_recursive /mnt/vendor/cpefs
chown radio system /mnt/vendor/cpefs
chmod 0771 /mnt/vendor/cpefs
on post-fs-data
chown radio radio sys/devices/virtual/misc/multipdp/waketime
chmod 0660 /sys/devices/virtual/misc/umts_dm0/dm_state
chown radio system /sys/devices/virtual/misc/umts_dm0/dm_state
# /efs/factory.prop for Dual / Single SIM settings
chown radio radio /mnt/vendor/efs/factory.prop
chmod 0600 /mnt/vendor/efs/factory.prop
# Modem boot daemon
service cpboot-daemon /vendor/bin/cbd -d -tss310 -bm -mm -P platform/13500000.dwmmc0/by-name/radio
class main
user root
group radio cache inet misc audio sdcard_rw log sdcard_r shell system
seclabel u:r:cbd:s0
on property:ril.clatd.v4-rmnet0=up
write /sys/class/net/rmnet0/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet0/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet1=up
write /sys/class/net/rmnet1/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet1/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet2=up
write /sys/class/net/rmnet2/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet2/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet3=up
write /sys/class/net/rmnet3/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet3/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet4=up
write /sys/class/net/rmnet4/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet4/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet5=up
write /sys/class/net/rmnet5/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet5/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet6=up
write /sys/class/net/rmnet6/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet6/queues/rx-0/rps_cpus 2
on property:ril.clatd.v4-rmnet7=up
write /sys/class/net/rmnet7/queues/rx-0/rps_cpus 4
write /sys/class/net/v4-rmnet7/queues/rx-0/rps_cpus 2
# SS/DS configuration
on property:ro.vendor.multisim.simslotcount=*
write /sys/module/modem_ctrl_ss310ap/parameters/ds_detect ${ro.vendor.multisim.simslotcount}
on property:ro.vendor.multisim.simslotcount=1
setprop persist.radio.multisim.config ss
on property:ro.vendor.multisim.simslotcount=2
setprop persist.radio.multisim.config dsds

View file

@ -0,0 +1,12 @@
service bootlogd /system/bin/logcat -b all -f /cache/boot.log
user root
group root
oneshot
disabled
on early-init
rm /cache/boot.log
start bootlogd
on property:sys.boot_completed=1
stop bootlogd

View file

@ -0,0 +1,10 @@
on init
# Reactivation Lock
symlink /dev/block/platform/13500000.dwmmc0/by-name/steady /dev/block/steady
# Google FRP solution
symlink /dev/block/platform/13500000.dwmmc0/by-name/persistent /dev/block/persistent
on boot
# Permissions for NAD
symlink /dev/block/platform/13500000.dwmmc0/by-name/nad_refer /dev/block/NAD_REFER

27
a20e/setup-makefiles.sh Executable file
View file

@ -0,0 +1,27 @@
#!/bin/bash
#
# Copyright (C) 2019 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
set -e
# Required!
export DEVICE=a20e
export DEVICE_COMMON=universal7885-common
export VENDOR=samsung
export DEVICE_BRINGUP_YEAR=2020
"./../../${VENDOR}/${DEVICE_COMMON}/setup-makefiles.sh" "$@"