diff --git a/consumerir/Android.mk b/consumerir/Android.mk
index cd8fd38..b5cbcca 100644
--- a/consumerir/Android.mk
+++ b/consumerir/Android.mk
@@ -15,9 +15,15 @@
 # HAL module implementation stored in
 # hw/<POWERS_HARDWARE_MODULE_ID>.<ro.hardware>.so
 
+include $(CLEAR_VARS)
+
 LOCAL_PATH := $(call my-dir)
 
-include $(CLEAR_VARS)
+LOCAL_SRC_FILES := consumerir.c
+
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
+
+LOCAL_SHARED_LIBRARIES := liblog libcutils
 
 ifeq ($(IR_HAL_SUFFIX),)
 IR_HAL_SUFFIX := $(TARGET_BOARD_PLATFORM)
@@ -25,16 +31,6 @@
 
 LOCAL_MODULE := consumerir.$(IR_HAL_SUFFIX)
 LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_SRC_FILES := consumerir.c
-LOCAL_SHARED_LIBRARIES := liblog libcutils
 LOCAL_MODULE_TAGS := optional
 
-ifeq ($(BOARD_IR_HAS_ONE_FREQ_RANGE),true)
-LOCAL_CFLAGS += -DUSE_ONE_FREQ_RANGE
-endif
-
-ifeq ($(BOARD_USES_MS_IR_SIGNAL),true)
-LOCAL_CFLAGS += -DMS_IR_SIGNAL
-endif
-
 include $(BUILD_SHARED_LIBRARY)
diff --git a/consumerir/consumerir.c b/consumerir/consumerir.c
index e41d447..f9ec588 100644
--- a/consumerir/consumerir.c
+++ b/consumerir/consumerir.c
@@ -28,27 +28,14 @@
 #include <string.h>
 #include <unistd.h>
 
+#include <samsung_consumerir.h>
+
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 #define UNUSED __attribute__((unused))
 
-#define IR_PATH "/sys/class/sec/sec_ir/ir_send"
-
 static int fd = 0;
 static pthread_mutex_t g_mtx;
 
-static const consumerir_freq_range_t consumerir_freqs[] = {
-#ifdef USE_ONE_FREQ_RANGE
-    {.min = 16000, .max = 60000},
-#else
-    {.min = 30000, .max = 30000},
-    {.min = 33000, .max = 33000},
-    {.min = 36000, .max = 36000},
-    {.min = 38000, .max = 38000},
-    {.min = 40000, .max = 40000},
-    {.min = 56000, .max = 56000},
-#endif
-};
-
 static bool try_append_number(char *buffer, int *len, int size, int number)
 {
     int stored;
diff --git a/consumerir/include/samsung_consumerir.h b/consumerir/include/samsung_consumerir.h
new file mode 100644
index 0000000..6e4edc5
--- /dev/null
+++ b/consumerir/include/samsung_consumerir.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2016 The CyanogenMod 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.
+ */
+
+#ifndef SAMSUNG_CONSUMERIR_H
+#define SAMSUNG_CONSUMERIR_H
+
+/*
+ * Board specific nodes
+ *
+ * If your kernel exposes these controls in another place, you can either
+ * symlink to the locations given here, or override this header in your
+ * device tree.
+ */
+#define IR_PATH "/sys/class/sec/sec_ir/ir_send"
+
+/*
+ * Board specific configs
+ *
+ * If your device needs a different configuration, you
+ * can override this header in your device tree
+ */
+// Some devices need MS_IR_SIGNAL to avoid ms to pulses conversionn
+//#define MS_IR_SIGNAL
+
+static const consumerir_freq_range_t consumerir_freqs[] = {
+    {.min = 30000, .max = 30000},
+    {.min = 33000, .max = 33000},
+    {.min = 36000, .max = 36000},
+    {.min = 38000, .max = 38000},
+    {.min = 40000, .max = 40000},
+    {.min = 56000, .max = 56000},
+};
+
+#endif // SAMSUNG_CONSUMERIR_H
