Copyright (C) 2025 The LineageOS Project

Device configuration for Xiaomi Redmi Note 12 4G/12 4G NFC
=========================================

The Xiaomi Redmi Note 12 4G/12 4G NFC (codenamed _"tapas/topaz"_) is a mid-range smartphone from Xiaomi.

Redmi Note 12 4G was announced and released in March 2023.

## Device specifications

| Device       | Xiaomi Redmi Note 12 4G                              |
| -----------: | :-------------------------------------------------- |
| SoC          | Qualcomm SM6225 Snapdragon 685 (6 nm)                      |
| CPU          | 4x2.8 GHz Cortex-A73 & 4x1.9 GHz Cortex-A53 |
| GPU          | Adreno 610                                          |
| Memory       | 4GB/6GB/8GB RAM (LPDDR4X)                               |
| Storage      | 64GB/128GB/256GB UFS 2.2 flash storage                    |
| Shipped Android version | 13.0 with MIUI 14                        |
| Battery      | Non-removable Li-Po 5000 mAh                        |
| Dimensions   | 165.7 x 76 x 7.9 mm                               |
| Display      | 1080 x 2400 pixels, 20:9 ratio 6.67" inch           |
| Type         | AMOLED, 120Hz, 450 nits (typ), 700 nits (HBM), 1200 nits (peak)      |
| NFC         | Yes ( Redmi Note 12 4G NFC )                            |
| Rear camera 1 | 50 MP, f/1.8, (wide), 1/2.76", 0.64µm, PDAF     |
| Rear camera 2 | 8 MP, f/2.2, 120˚ (ultrawide), 1/4", 1.12µm      |
| Rear camera 3 | 2 MP, f/2.4, (macro)                               |
| Front camera  | 13 MP, f/2.5, (wide), 1/3.0"                    |

## Device picture

![Xiaomi Redmi Note 12 4G](https://i02.appmifile.com/224_operator_sg/10/03/2023/cdf4a7f40a92668d1c8fe2fcc5045ea8.png)
