struct i2c_client *client;
        struct iio_trigger *dready_trig;
        struct iio_trigger *motion_trig;
+       struct iio_mount_matrix orientation;
        struct mutex mutex;
        s16 buffer[8];
        u8 odr_bits;
                                 BIT(IIO_EV_INFO_PERIOD)
 };
 
+static const struct iio_mount_matrix *
+kxcjk1013_get_mount_matrix(const struct iio_dev *indio_dev,
+                          const struct iio_chan_spec *chan)
+{
+       struct kxcjk1013_data *data = iio_priv(indio_dev);
+
+       return &data->orientation;
+}
+
+static const struct iio_chan_spec_ext_info kxcjk1013_ext_info[] = {
+       IIO_MOUNT_MATRIX(IIO_SHARED_BY_TYPE, kxcjk1013_get_mount_matrix),
+       { }
+};
+
 #define KXCJK1013_CHANNEL(_axis) {                                     \
        .type = IIO_ACCEL,                                              \
        .modified = 1,                                                  \
                .endianness = IIO_LE,                                   \
        },                                                              \
        .event_spec = &kxcjk1013_event,                         \
+       .ext_info = kxcjk1013_ext_info,                                 \
        .num_event_specs = 1                                            \
 }
 
        data->client = client;
 
        pdata = dev_get_platdata(&client->dev);
-       if (pdata)
+       if (pdata) {
                data->active_high_intr = pdata->active_high_intr;
-       else
+               data->orientation = pdata->orientation;
+       } else {
                data->active_high_intr = true; /* default polarity */
 
+               ret = iio_read_mount_matrix(&client->dev, "mount-matrix",
+                                           &data->orientation);
+               if (ret)
+                       return ret;
+       }
+
        if (id) {
                data->chipset = (enum kx_chipset)(id->driver_data);
                name = id->name;
 
 #ifndef __IIO_KXCJK_1013_H__
 #define __IIO_KXCJK_1013_H__
 
+#include <linux/iio/iio.h>
+
 struct kxcjk_1013_platform_data {
        bool active_high_intr;
+       struct iio_mount_matrix orientation;
 };
 
 #endif