#
# Copyright (C) 2016 The Android Open-Source 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.
#

# the DIAG device node is not world writable/readable.
/dev/diag                 0660   system     diag

/dev/wlan                 0666   system     system
/dev/kgsl-3d0             0666   system     system
/dev/ion                  0664   system     system
/dev/rtc0                 0660   system     system
/dev/smd7                 0660   bluetooth  bluetooth
/dev/ipa                  0660   system     radio
/dev/wwan_ioctl           0660   system     radio
/dev/ipaNatTable          0660   system     radio
/dev/rmnet_ctrl           0660   usb        usb

#permissions for CSVT
/dev/smd11                0660   radio      radio

/dev/smdcntl8             0640   radio      radio
/dev/at_usb0              0640   radio      radio
/dev/at_mdm0              0640   radio      radio

/dev/video*               0660   system     camera
/dev/media*               0660   system     camera
/dev/v4l-subdev*          0660   system     camera

/dev/qseecom              0660   system     drmrpc
/dev/qsee_ipc_irq_spss    0660   system     drmrpc
/dev/seemplog             0660   system     system
/dev/spcom                0660   system     system

/dev/jpeg0                0660   system     camera
/dev/adsprpc-smd          0664   system     system

/dev/hw_random            0600   root       root
/dev/sdsprpc-smd          0660   system     system

/dev/wcd-dsp-glink        0660   system     audio
/dev/wcd_dsp0_control     0660   system     audio
/dev/wcd-spi-ac-client    0660   system     audio

/dev/msm_qcelp            0660   system     audio
/dev/msm_evrc             0660   system     audio
/dev/msm_wma              0660   system     audio
/dev/msm_wmapro           0660   system     audio
/dev/msm_alac             0660   system     audio
/dev/msm_ape              0660   system     audio
/dev/msm_amrnb            0660   system     audio
/dev/msm_amrwb            0660   system     audio
/dev/msm_amrwbplus        0660   system     audio
/dev/msm_aac              0660   system     audio
/dev/msm_multi_aac        0660   system     audio
/dev/msm_aac_in           0660   system     audio
/dev/msm_qcelp_in         0660   system     audio
/dev/msm_evrc_in          0660   system     audio
/dev/msm_amrnb_in         0640   system     audio
/dev/msm_a2dp_in          0660   system     audio
/dev/msm_ac3              0660   system     audio
/dev/msm_cirrus_playback  0660   system     audio
/dev/msm_audio_cal        0660   system     audio
/dev/msm_hweffects        0660   system     audio
/dev/msm_rtac             0660   system     audio

/dev/i2c-5                0660   media      media
/dev/avtimer              0660   system     audio

/dev/uio0                 0660   system     system
/dev/uio1                 0660   system     system

# SSR devices
/dev/subsys_*             0640   system     system

# Ramdump devices
/dev/ramdump_*            0640   system     system

# BT
/dev/ttyHS0               0660   bluetooth  net_bt
/dev/btpower              0660   bluetooth  net_bt

#nfc permissions
/dev/nq-nci               0660    nfc         nfc

#eSE device
/dev/pn81a                0660   secure_element secure_element

# Citadel
/dev/citadel0             0660    hsm         hsm

# fpc fingerprint
/sys/devices/platform/soc/soc:fp_fpc*        irq               0600  system system
/sys/devices/platform/soc/soc:fp_fpc*        wakeup_enable     0200  system system
/sys/devices/platform/soc/soc:fp_fpc*        hw_reset          0600  system system

# Easel
/dev/easelcomm-client     0666   cameraserver camera
/dev/mnh_sm               0666   cameraserver camera

# Storage: for factory reset protection feature
/dev/block/platform/soc/1d84000.ufshc/by-name/frp       0660   system     system

# fuel gauge history
/dev/maxfg_history        0644   system system