--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(plugin-backend-deviced-display C)
+
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+
+FILE(GLOB ALL_SRCS "*.c")
+SET(SRCS ${ALL_SRCS})
+
+if (${PLUGIN_DEVICED_ENABLE_DLOG})
+ SET(PKG_MODULES
+ libsyscommon
+ libsyscommon-plugin-api-deviced)
+ ADD_DEFINITIONS("-DENABLE_DLOG")
+ ADD_DEFINITIONS("-DLOG_TAG=\"SYSTEM_PLUGIN_DEVICED_BATTERY\"")
+else()
+ SET(PKG_MODULES
+ libsyscommon
+ libsyscommon-plugin-api-deviced)
+endif()
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(PKGS REQUIRED ${PKG_MODULES})
+FOREACH(flag ${PKGS_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS})
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${PLUGIN_LIB_DIR} COMPONENT RuntimeLibraries)
\ No newline at end of file
--- /dev/null
+/**
+ * system-plugin-deviced-mobile
+ *
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <system/syscommon-plugin-common-interface.h>
+#include <system/syscommon-plugin-deviced-common-interface.h>
+#include <system/syscommon-plugin-deviced-display.h>
+#include <system/syscommon-plugin-deviced-display-interface.h>
+
+#define EXPORT __attribute__ ((visibility("default")))
+
+#define LOCK_SCREEN_WATING_TIME 300 /* 0.3 second */
+#define LONG_PRESS_INTERVAL 400 /* 0.4 seconds */
+#define SAMPLING_INTERVAL 1 /* 1 sec */
+#define BRIGHTNESS_CHANGE_STEP 10
+#define LCD_ALWAYS_ON 0
+#define ACCEL_SENSOR_ON 1
+#define CONTINUOUS_SAMPLING 1
+#define LCDOFF_TIMEOUT 300 /* milli second */
+
+static struct syscommon_deviced_display_config display_conf = {
+ .lock_wait_time = LOCK_SCREEN_WATING_TIME,
+ .longpress_interval = LONG_PRESS_INTERVAL,
+ .lightsensor_interval = SAMPLING_INTERVAL,
+ .lcdoff_timeout = LCDOFF_TIMEOUT,
+ .pm_default_brightness = 80,
+ .brightness_change_step = BRIGHTNESS_CHANGE_STEP,
+ .lcd_always_on = LCD_ALWAYS_ON,
+ .dimming = 1,
+ .framerate_app = {0, 0, 0, 0},
+ .control_display = 0,
+ .powerkey_doublepress = 0,
+ .accel_sensor_on = ACCEL_SENSOR_ON,
+ .continuous_sampling = CONTINUOUS_SAMPLING,
+ .timeout_enable = true,
+ .input_support = true,
+ .display_init_direction = SYSCOMMON_DEVICED_DISPLAY_ORIENTATION_HORIZONTAL,
+ .aod_enter_level = 40,
+ .aod_tsp = true,
+ .touch_wakeup = false,
+ .display_on_usb_conn_changed = true,
+ .display_dpms_type = SYSCOMMON_DEVICED_DPMS_TYPE_WINDOW_MANAGER,
+};
+
+static int load_display_config(struct syscommon_deviced_display_config **data)
+{
+ if (!data)
+ return -EINVAL;
+
+ *data = &display_conf;
+
+ return 0;
+}
+
+static syscommon_plugin_backend_deviced_display_funcs g_display_funcs = {
+ .load_display_config = load_display_config,
+};
+
+static int deviced_display_init(void **data)
+{
+ if (!data)
+ return -EINVAL;
+
+ *data = (void *)&g_display_funcs;
+
+ return 0;
+}
+
+static int deviced_display_exit(void *data)
+{
+ return 0;
+}
+
+syscommon_plugin_backend EXPORT system_plugin_backend_deviced_display_data = {
+ .name = "deviced-display",
+ .vendor = "Samsung",
+ .init = deviced_display_init,
+ .exit = deviced_display_exit,
+};