diff --git a/.clang-tidy b/.clang-tidy
index b4e75ee..6412a66 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -286,7 +286,8 @@
 readability-redundant-string-cstr,
 readability-redundant-string-init,
 readability-static-accessed-through-instance,
-readability-identifier-naming'
+readability-identifier-naming,
+readability-uppercase-literal-suffix'
 
 WarningsAsErrors: '*'
 HeaderFilterRegex: '.*'
diff --git a/http/routing.hpp b/http/routing.hpp
index 8fd4558..8c4fa2f 100644
--- a/http/routing.hpp
+++ b/http/routing.hpp
@@ -688,7 +688,7 @@
     {
         for (size_t x : node->paramChildrens)
         {
-            if (x == 0u)
+            if (x == 0U)
             {
                 continue;
             }
diff --git a/include/json_html_serializer.hpp b/include/json_html_serializer.hpp
index 8e3cce5..022ee13 100644
--- a/include/json_html_serializer.hpp
+++ b/include/json_html_serializer.hpp
@@ -41,10 +41,10 @@
     const uint8_t type = utf8d[byte];
 
     codePoint = (state != utf8Accept)
-                    ? (byte & 0x3fu) | (codePoint << 6)
+                    ? (byte & 0x3fU) | (codePoint << 6)
                     : static_cast<uint32_t>(0xff >> type) & (byte);
 
-    state = utf8d[256u + state * 16u + type];
+    state = utf8d[256U + state * 16U + type];
     return state;
 }
 
@@ -284,7 +284,7 @@
         {
             return nDigits + 3;
         }
-        number = number / 10000u;
+        number = number / 10000U;
         nDigits += 4;
     }
 }
diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
index 051e495..5592d64 100644
--- a/redfish-core/include/event_service_manager.hpp
+++ b/redfish-core/include/event_service_manager.hpp
@@ -989,7 +989,7 @@
     void sendEvent(const nlohmann::json& eventMessageIn,
                    const std::string& origin, const std::string& resType)
     {
-        if (!serviceEnabled || (noOfEventLogSubscribers == 0u))
+        if (!serviceEnabled || (noOfEventLogSubscribers == 0U))
         {
             BMCWEB_LOG_DEBUG << "EventService disabled or no Subscriptions.";
             return;
diff --git a/redfish-core/lib/ethernet.hpp b/redfish-core/lib/ethernet.hpp
index 9b1aa43..cc2ee57 100644
--- a/redfish-core/lib/ethernet.hpp
+++ b/redfish-core/lib/ethernet.hpp
@@ -2355,7 +2355,7 @@
                     return;
                 }
                 // Need both vlanId and vlanEnable to service this request
-                if (vlanId == 0u)
+                if (vlanId == 0U)
                 {
                     messages::propertyMissing(asyncResp->res, "VLANId");
                 }
