diff --git a/tlbmc/gpio_config.proto b/tlbmc/gpio_config.proto
index 5bf2048..eabd8f5 100644
--- a/tlbmc/gpio_config.proto
+++ b/tlbmc/gpio_config.proto
@@ -19,6 +19,14 @@
   GPIO_EVENT_BOTH = 3;
 }
 
+enum GpioPolarity {
+  // For GPIO input/output, we can set the GPIO line to be active high or active
+  // low.
+  GPIO_POLARITY_UNKNOWN = 0;
+  GPIO_POLARITY_ACTIVE_HIGH = 1;
+  GPIO_POLARITY_ACTIVE_LOW = 2;
+}
+
 message GpioEventConfig {
   GpioEventType event_type = 1;
   // If true, the event callback will be triggered only once. Otherwise, the
@@ -48,6 +56,10 @@
     GpioDirection gpio_direction = 4;
     GpioEventConfig gpio_event_config = 5;
   }
+
+  // The polarity of the GPIO line. This is used to set the polarity of the GPIO
+  // line. The output pin is set to the opposite polarity in the beginning.
+  GpioPolarity gpio_polarity = 6;
 }
 
 message GpioConfigs {
diff --git a/tlbmc/hal/gpio/gpio.cc b/tlbmc/hal/gpio/gpio.cc
index dbbba02..8fbe259 100644
--- a/tlbmc/hal/gpio/gpio.cc
+++ b/tlbmc/hal/gpio/gpio.cc
@@ -113,8 +113,23 @@
                             internal::ParseGpioRequestType(config));
   request_config.request_type = request_type;
 
-  if (gpiod_line_request(line, &request_config, /*flags=*/0) < 0) {
-    return absl::InternalError("Failed to request GPIO line");
+  if (config.request_type_case() == GpioConfig::kGpioDirection &&
+      config.gpio_direction() == GPIO_DIRECTION_OUTPUT) {
+    if (config.gpio_polarity() == GPIO_POLARITY_UNKNOWN) {
+      return absl::InvalidArgumentError(absl::StrCat(
+          "Output GPIO line ", config.line_name(), " has unknown polarity"));
+    }
+    // The default value of the output GPIO line is the opposite of the
+    // polarity.
+    int default_val =
+        (config.gpio_polarity() == GPIO_POLARITY_ACTIVE_LOW) ? 1 : 0;
+    if (gpiod_line_request(line, &request_config, default_val) < 0) {
+      return absl::InternalError("Failed to request GPIO line");
+    }
+  } else {
+    if (gpiod_line_request(line, &request_config, /*default_val=*/0) < 0) {
+      return absl::InternalError("Failed to request GPIO line");
+    }
   }
 
   int fd = -1;
