1
0
Fork 0

Add device tree for Orange Pi 5 Ultra LineageOS ATV

This commit is contained in:
Brendan Szymanski 2026-07-10 17:56:31 -04:00
parent ff9874b632
commit ae84f8e65e
147 changed files with 7890 additions and 1 deletions

1
sepolicy/bootanim.te Normal file
View file

@ -0,0 +1 @@
gpu_access(bootanim)

1
sepolicy/device.te Normal file
View file

@ -0,0 +1 @@
type cec_device, dev_type;

2
sepolicy/file.te Normal file
View file

@ -0,0 +1,2 @@
type mediadrm_vendor_data_file, file_type, data_file_type;
type sysfs_hdmi, fs_type, sysfs_type;

46
sepolicy/file_contexts Normal file
View file

@ -0,0 +1,46 @@
# CEC
/dev/cec0 u:object_r:cec_device:s0
# DRM
/data/vendor/mediadrm(/.*)? u:object_r:mediadrm_vendor_data_file:s0
# Graphics
#/dev/dri(/.*)? u:object_r:gpu_device:s0
#/vendor/bin/hw/android\.hardware\.graphics\.allocator-service\.minigbm_gbm_mesa u:object_r:hal_graphics_allocator_default_exec:s0
#/vendor/bin/hw/android\.hardware\.graphics\.allocator-service\.minigbm u:object_r:hal_graphics_allocator_default_exec:s0
#/vendor/lib64/hw/mapper\.minigbm_gbm_mesa\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/hw/mapper\.minigbm\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/hw/vulkan\.panfrost\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/dri_gbm\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/libdrm\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/libgallium_dri\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/libgbm_mesa\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/libgbm\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/libgbm_mesa_wrapper\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/libminigbm_gralloc_gbm_mesa\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/libminigbm_gralloc\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/libminigbm_gralloc4_utils_gbm_mesa\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/libminigbm_gralloc4_utils\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/libui\.so u:object_r:same_process_hal_file:s0
#/vendor/lib64/gralloc\.minigbm\.so u:object_r:same_process_hal_file:s0
/dev/dri(/.*)? u:object_r:gpu_device:s0
/vendor/lib64/android\.hardware\.graphics\.allocator@[2-4]\.0\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/hw/vulkan\.panfrost\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/libdrm\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/libgallium_dri\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/libui\.so u:object_r:same_process_hal_file:s0
# Partitions (gpt)
/dev/block/by-name/system u:object_r:system_block_device:s0
/dev/block/by-name/vendor u:object_r:system_block_device:s0
/dev/block/by-name/metadata u:object_r:metadata_block_device:s0
/dev/block/by-name/userdata u:object_r:userdata_block_device:s0
/dev/block/by-name/boot u:object_r:boot_block_device:s0
#V4L2
/vendor/bin/hw/android\.hardware\.media\.c2@1\.2-service-v4l2(.*)? u:object_r:mediacodec_exec:s0

18
sepolicy/genfs_contexts Normal file
View file

@ -0,0 +1,18 @@
# CEC
genfscon sysfs /devices/platform/display-subsystem/drm/card0/card0-HDMI-A-1/status u:object_r:sysfs_hdmi:s0
genfscon sysfs /devices/platform/display-subsystem/drm/card1/card1-HDMI-A-1/status u:object_r:sysfs_hdmi:s0
# Graphics
genfscon sysfs /devices/platform/fde60000.gpu u:object_r:sysfs_gpu:s0
genfscon sysfs /devices/platform/display-subsystem u:object_r:sysfs_gpu:s0
# Lights
genfscon sysfs /class/backlight/11-0045/brightness u:object_r:sysfs_leds:s0
genfscon sysfs /class/backlight/11-0045/max_brightness u:object_r:sysfs_leds:s0
# # Serial number
# genfscon sysfs /firmware/devicetree/base/serial-number u:object_r:sysfs_dt_firmware_android:s0
# # Suspend
# genfscon sysfs /devices/platform/soc/soc:rpi_rtc/rtc/rtc0/alarmtimer.0.auto/wakeup/wakeup1 u:object_r:sysfs_wakeup:s0
# genfscon sysfs /devices/platform/soc/soc:rpi_rtc/wakeup/wakeup0 u:object_r:sysfs_wakeup:s0

View file

@ -0,0 +1 @@
get_prop(hal_audio_default, vendor_audio_config_prop)

12
sepolicy/hal_camera.te Normal file
View file

@ -0,0 +1,12 @@
vndbinder_use(hal_camera_default);
allow hal_camera_default hal_graphics_mapper_hwservice:hwservice_manager find;
hal_client_domain(hal_camera_default, hal_graphics_allocator);
hal_client_domain(hal_camera_default, hal_graphics_composer);
allow cameraserver device:dir r_dir_perms;
allow cameraserver video_device:dir r_dir_perms;
allow cameraserver video_device:chr_file rw_file_perms;
gpu_access(hal_camera_default)
gpu_access(cameraserver)

View file

@ -0,0 +1,5 @@
type hal_drm_clearkey, domain;
type hal_drm_clearkey_exec, vendor_file_type, exec_type, file_type;
init_daemon_domain(hal_drm_clearkey)
hal_server_domain(hal_drm_clearkey, hal_drm)

View file

@ -0,0 +1,8 @@
type hal_drm_widevine, domain;
type hal_drm_widevine_exec, vendor_file_type, exec_type, file_type;
init_daemon_domain(hal_drm_widevine)
hal_server_domain(hal_drm_widevine, hal_drm)
allow hal_drm_widevine mediadrm_vendor_data_file:file create_file_perms;
allow hal_drm_widevine mediadrm_vendor_data_file:dir create_dir_perms;

View file

@ -0,0 +1 @@
gpu_access(hal_graphics_allocator_default)

View file

@ -0,0 +1,5 @@
vndbinder_use(hal_graphics_composer_default)
gpu_access(hal_graphics_composer_default)
get_prop(hal_graphics_composer_default, vendor_hwc_config_prop)
allow hal_graphics_composer_default self:netlink_kobject_uevent_socket { bind create read };

View file

@ -0,0 +1 @@
get_prop(hal_keymint_default, serialno_prop)

View file

@ -0,0 +1,2 @@
allow hal_tv_hdmi_cec_default cec_device:chr_file rw_file_perms;
get_prop(hal_tv_hdmi_cec_default, vendor_hdmi_config_prop)

View file

@ -0,0 +1 @@
allow hal_tv_hdmi_connection_default sysfs_hdmi:file r_file_perms;

2
sepolicy/init.te Normal file
View file

@ -0,0 +1,2 @@
allow init kernel:system module_request;
allow init tmpfs:lnk_file create;

4
sepolicy/kernel.te Normal file
View file

@ -0,0 +1,4 @@
allow kernel self:capability mknod;
allow kernel self:system module_request;
allow kernel device:dir { create write add_name remove_name rmdir };
allow kernel device:chr_file { create setattr getattr unlink };

1
sepolicy/keystore.te Normal file
View file

@ -0,0 +1 @@
hal_client_domain(keystore, hal_gatekeeper)

3
sepolicy/mediacodec.te Normal file
View file

@ -0,0 +1,3 @@
gpu_access(mediacodec)
get_prop(mediacodec, vendor_ffmpeg_config_prop)
get_prop(mediacodec, vendor_v4l2_config_prop)

1
sepolicy/mediaserver.te Normal file
View file

@ -0,0 +1 @@
gpu_access(mediaserver)

1
sepolicy/mediaswcodec.te Normal file
View file

@ -0,0 +1 @@
gpu_access(mediaswcodec)

2
sepolicy/netd.te Normal file
View file

@ -0,0 +1,2 @@
dontaudit netd self:capability sys_module;
allow netd kernel:system module_request;

1
sepolicy/platform_app.te Normal file
View file

@ -0,0 +1 @@
gpu_access(platform_app)

1
sepolicy/priv_app.te Normal file
View file

@ -0,0 +1 @@
gpu_access(priv_app)

1
sepolicy/proc_net.te Normal file
View file

@ -0,0 +1 @@
allow proc_net proc:filesystem associate;

6
sepolicy/property.te Normal file
View file

@ -0,0 +1,6 @@
vendor_internal_prop(vendor_audio_config_prop)
vendor_internal_prop(vendor_ffmpeg_config_prop)
vendor_internal_prop(vendor_hdmi_config_prop)
vendor_internal_prop(vendor_v4l2_config_prop)
vendor_internal_prop(vendor_hwc_config_prop)

View file

@ -0,0 +1,23 @@
# Audio
persist.vendor.audio.device u:object_r:vendor_audio_config_prop:s0
persist.vendor.audio.hdmi.device u:object_r:vendor_audio_config_prop:s0
persist.vendor.audio.pcm.card.auto u:object_r:vendor_audio_config_prop:s0
persist.vendor.audio.pcm.card u:object_r:vendor_audio_config_prop:s0
persist.vendor.audio.pcm.device u:object_r:vendor_audio_config_prop:s0
# CEC
persist.vendor.hdmi.cec_device u:object_r:vendor_hdmi_config_prop:s0
# FFmpeg
persist.vendor.ffmpeg_codec2.rank.audio u:object_r:vendor_ffmpeg_config_prop:s0
persist.vendor.ffmpeg_codec2.rank.video u:object_r:vendor_ffmpeg_config_prop:s0
persist.vendor.ffmpeg_codec2.v4l2.h265 u:object_r:vendor_ffmpeg_config_prop:s0
#V4L2
persist.vendor.v4l2_codec2.rank.decoder u:object_r:vendor_v4l2_config_prop:s0
persist.vendor.v4l2_codec2.rank.encoder u:object_r:vendor_v4l2_config_prop:s0
# Graphics
vendor.hwc.drm.ctm u:object_r:vendor_hwc_config_prop:s0
vendor.hwc.drm.disable_hdr u:object_r:vendor_hwc_config_prop:s0
vendor.hwc.drm.force_mode u:object_r:vendor_hwc_config_prop:s0

10
sepolicy/service_contexts Normal file
View file

@ -0,0 +1,10 @@
# DRM
android.hardware.drm.IDrmFactory/widevine u:object_r:hal_drm_service:s0
# Gatekeeper
android.hardware.security.sharedsecret.ISharedSecret/gatekeeper u:object_r:hal_gatekeeper_service:s0
# Graphics
mapper/minigbm_gbm_mesa u:object_r:hal_graphics_mapper_service:s0
mapper/minigbm u:object_r:hal_graphics_mapper_service:s0

View file

@ -0,0 +1 @@
gpu_access(surfaceflinger)

View file

@ -0,0 +1,6 @@
type suspend_blocker, domain;
type suspend_blocker_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(suspend_blocker);
wakelock_use(suspend_blocker);

1
sepolicy/system_app.te Normal file
View file

@ -0,0 +1 @@
gpu_access(system_app)

View file

@ -0,0 +1,2 @@
gpu_access(system_server)

9
sepolicy/te_macros Normal file
View file

@ -0,0 +1,9 @@
#####################################
# gpu_access(client_domain)
# Allow client_domain to communicate with the GPU
define(`gpu_access', `
allow $1 gpu_device:dir r_dir_perms;
allow $1 gpu_device:chr_file rw_file_perms;
allow $1 sysfs_gpu:dir r_dir_perms;
allow $1 sysfs_gpu:file r_file_perms;
')

View file

@ -0,0 +1 @@
gpu_access(untrusted_app_all)

7
sepolicy/vendor_init.te Normal file
View file

@ -0,0 +1,7 @@
set_prop(vendor_init, vendor_audio_config_prop)
set_prop(vendor_init, vendor_ffmpeg_config_prop)
set_prop(vendor_init, vendor_hdmi_config_prop)
set_prop(vendor_init, vendor_v4l2_config_prop)
set_prop(vendor_init, vendor_hwc_config_prop)